論理パズルの定番の問題ですが、初見では難しいです。
「嘘つき問題」
ある場所に正直村と嘘つき村が隣り同士でありました。
正直村と嘘つき村の評判は次のようです。
- 正直村の人間⇒必ず正直に答える
- 嘘つき村の人間⇒必ず嘘をつく
ある時、正直村と嘘つき村の近くで仕事が入りました。
その日は非常に蒸し暑く、水筒の水もすぐに空となりました。この近くにお店はありません。
困っていると、近くに川を発見しました。
水を確保しようとしましたが、近くに化学工場があることを思い出しました。
「どうしようか」と悩んでいたところ、そこにたまたま人が通りかかりました。
その人は、正直村の人か嘘つき村の人のどちらかで間違いないことがわかりました。
しかし、どちらかまではわかりません。しかも偏屈の老人で、あまり質問できない雰囲気です。
そこで、この老人に「はい」か「いいえ」で答えられる質問を一つだけして、この水が飲めるかどうかを判定するにはどうすればいいだろうか??
解説
解答の質問だけでは、あまりわかりにくいので場合分けして考えます。
①水が飲める場合
正直者は『この水が飲めますか?』と質問されると、「はい」と答えます。
なので、『はい』と答えますか?という質問に正直に「はい」と答えます。
うそつきは『この水が飲めますか?』と質問されると、うそをついて「いいえ」と答えます。次に
この質問に対して、「いいえ」と答えると正直に答えることになってしまう。なので、うそをついて「はい」と答える。
どちらにしても老人が、「はい」と答えたら水が飲めます。
②水が飲めない場合
正直者は『この水が飲めますか?』と質問されると、「いいえ」と答えます。
なので、『はい』と答えますか?という質問に正直に「いいえ」と答えます。
うそつきは『この水が飲めますか?』と質問されると、うそをついて「はい」と答えます。次に
この質問に対して、「はい」と答えると正直に答えることになってしまう。なので、うそをついて「いいえ」と答える。
どちらにしても老人が、「いいえ」と答えたら水が飲めません。
「はい」か「いいえ」で水が飲めるか、飲めないかわかるようになります。