見張り番が親切なのか、それとも自分も爆発に巻き込まれたくなかったのか、それは謎。
王様は・・・旅人達の知恵を試してみたかっただけです(笑)。
<答え>
友人がいるのはどれか1部屋なので、見張り番の「いいえ」が共に嘘であることはあり得ない。
よって、見張り番は「正直族」か「交互族」のどちらかです。
I:見張り番が正直族
・右の部屋に「いいえ」=真
・中の部屋に「いいえ」=真
・「質問にもう1つ答える」=真
→次の質問の返事=真
II:見張り番が交互族で最初の発言が真
・右の部屋に「いいえ」=真
・中の部屋に「いいえ」=偽
・「質問にもう1つ答える」=真
→次の質問の返事=偽
III:見張り番が交互族で最初の発言が偽
・右の部屋に「いいえ」=偽
・中の部屋に「いいえ」=真
・「質問にもう1つ答える」=偽
→次の質問の返事=なし
IIIの場合は、何を質問しても返事がないので、これまでの真偽が特定出来ますが、返事があった場合はIとIIの区別をつけなくてはなりません。
部屋に関する質問に答えると言われているわけですが、左の部屋について聞いても、これまでの情報がないので真偽が特定出来ません。中の部屋について聞くと、IでもIIでも、先ほどと同じ答えが返って来るだけです。なので
「友人がいるのは右の部屋ですか」
を改めて聞きます。Iの場合はさっきと同じ「いいえ」、IIの場合は先ほどは真の時でしたが今回は偽の時なので別の答えである「はい」、IIIの場合は「質問に答える」そのものが嘘なので無言です。そして、
「いいえ」であれば左の部屋、「はい」であれば中の部屋、無言なら右の部屋
が答えです(ちなみに、『部屋に関する』という制限がなければ『1+1=2ですか』など、こちらが真偽を特定できるシンプルな質問で十分のはずです)。