На главную страницу

Возврат к головоломкам

Три человека стоят у развилки. Одна дорога ведет в Тудаилинет другая - в Щасздесьград. Один из трои людей всегда отвечает правду на любой однозначный вопрос (то есть на него можно ответить "да" или "нет"). Другой всегда врет на любой однозначный вопрос. Третий человек либо врет, либо говорит правду. Каждый из них знает остальных, но вы не знаете никого. Какое наименьшее количество однозначных вопросов вы должны задать этим людям, чтобы узнать какая дорога ведет в Тудаилинет?
  Изменится ли ответ, если третий человек беспорядочно отвечать "да" или "нет" (то есть он не обязан врать или говорить правду, а может просто ответить "да" или "нет")?

Ответ: Если третий человек либо говорит правду, либо лжет:
Это мой вариант, и он, IMHO, более короткий и понятный, чем вариант Смаллиана:
"Если бы я спросил ведет ли левое ответвление в Щасздесьград, вы бы ответили "да" ?"
В этом случае правдолюб ответил "да", если левая дорога ведет в Щасздесьград, и "нет" в другом случае. Лжец же ответил бы также, тк он солжет о направлении и солжет о своем ответе, то есть, в итоге, скажет правду. Естественно ответ "перебежчика" совпадет либо с ответом правдолюбом, либо с ответом лжеца, то есть будет таким же..

Если третий человек просто отвечает "да" или "нет", то воспользоваться этой тактикой уже нельзя, поэтому мы спрашиваем у А: "В более правдив, чем С ?"
  а) Если он отвечает "да", то:
    Если А - правдолюб, то B - перебежчик, C - лгун.
    Если А - лгун, то B - перебежчик, C - правдолюб.
    Если А - перебежчик, то C - правдолюб или лгун.
  б) Если он отвечает на "Нет", то:
    Если А - правдолюб, то B - лгун, C - перебежчик.
    Если А - лгун, то B - правдолюб, C - перебежчик.
    Если А - перебежчик, B - правдолюб или лгун.
Таким образом, в случае "а" С- точно не перебежчик, а в случае "б" не перебежчиком является В. Ему то мы и зададим вопрос пункта 1.