ABCD是同一棟四層樓公寓的住戶,每個人住在不同樓層,
他們每個人都說了兩句話來描述自己住的樓層:
但是其中只有兩句是實話,而且一樓的住戶至少有說一句實話,
請問,ABCD各住在幾樓呢?
先看每個人說的第一句話,也就是編號1、3、5、7,
這四句話如果都是謊話,那ABCD就是依序住一二三四樓,會讓2、4、6、8有三句實話,與事實不符;
這四句中也不可能剛好有三句謊話,因為這樣其中三個人住的樓層確定了,第四個人也會跟著定了,結果就變得跟四個人都說謊話一樣;
因此得知這四句裡最多兩句謊話,也就是至少兩句實話。
由於總共只有兩句是實話,可知實話都在1、3、5、7裡,而2、4、6、8都是謊話。
假設 (1) 是謊話,那麼 A 就住在一樓,但他說的兩句都是謊話,與事實不符,
→ (1) 是實話
剩下3、5、7裡面有兩句是謊話,
由於BCD他們第二句都各說自己住在後面那人的下一層樓,
如果BCD三人有連續兩人的第一句是假話,就會造成其中一人的第二句變成真話,
因此BCD不能連續兩人的第一句是假話,
也就是C的第一句必須是真話,
所以推得(1)、(5)是真話,其他六句都是假話,
四人住的樓層就可以推出來囉!