Впарламенте есть депутаты 2 типов - рыцари и лжецы, всего их ровно 120. спикер может любого депутата спросить про любого другого < > или < > . спикер знает, что если депутат отвечает да, то его тип меняется на противоположный(лжец становится рыцарем, а рыцарь лжецом). может ли спикер опросить депутатов так, чтобы точно знать, сколько в данный момент (на конец опроса) в парламенте лжецов, а сколько рыцарей. ответ поясните

Tess85 Tess85    3   22.08.2019 15:30    4

Ответы
skyline12345 skyline12345  05.10.2020 12:52
Разделим депутатов на пары. В каждой паре спрашиваем у обоих депутатов: "Твой напарник - рыцарь?".
- Получили два нет: один рыцарь, второй лжец (если один рыцарь, то второй - лжец, так как рыцарь сказал правду. Если один лжец, то второй рыцарь, так как лжец солгал).
- Получили "да-нет". Если первый изначально был бы рыцарем, то он стал бы лжецом, а второй - лжец, но лжец не ответил бы нет. Значит, первый был лжецом, стал рыцарем, а второй был и остался лжецом.
- Получили "нет-да". Если первый был бы рыцарем, то второй сначала был лжецом, но лжец не ответил бы да. Значит, первый - лжец, второй был рыцарем, а стал лжецом.
- Получили два да. Если первый был бы до ответа рыцарем, то и второй был до ответа рыцарем. Но после ответа первый поменял тип, и второй, будучи рыцарем, не мог назвать его рыцарем. Значит, первый был лжецом, стал рыцарем, стал лжецом, а второй был лжецом, стал рыцарем.

Итого про каждую пару мы знаем, сколько в ней лжецов, сколько рыцарей. Значит, мы это знаем и про всех депутатов.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Математика