Задача про города лжецов и правдолюбов

Задача:

«Есть два близ лежащих города, в одном из которых живут все лжецы, а в другом — правдолюбы. И те и другие приезжают друг к другу в гости. Какой нужно задать единственный вопрос прохожему, что бы узнать, в каком вы находитесь городе?»

Ответ: вопрос — «Вы в гостях?» (или ему подобный)

Решение: необходимо задать именно такой вопрос, ответ которого меняется на противоположеный в зависимости от места. Как вариант, задать вопрос «Вы в гостях?», тогда:

1.1 Если правдолюб находиться в городе правдолюбов, то на вопрос он ответит «НЕТ».
1.2 Если правдолюб в гостях в городе лжецов, то на вопрос он ответит «ДА».
2.1 Если лжец находиться в городе лжецов, то на вопрос он ответит «ДА».
2.2 Если лжец находиться в городе правдолюбов, то на вопрос он ответит «НЕТ».

В результате в городе правдолюбов оба говорят «НЕТ», а в городе лжецов оба говорят «ДА».