Anytime and every time a merchant (hotel, restaurant, whoever) pulls a DCC on me and tries to charge my cc in dollars, I refuse to sign and ask for another charge in local currency. Sometimes the business accepts this and promptly re-does the transaction in local currency. Since I haven't signed for the one in dollars, it's nice if they reverse that one but in the end, I won't be responsible.
Other places are ill equipped for the decline/reversal/rerun in local currency. This can really screw them up as they don't know what to do and fumble with their machine. I stand firm-I'll sign in local currency only. I make no offer of cash, even if I have the cash on me. The longer it takes, the more upset they get, the better the lesson to not pull this scam.