作者cutecpu (可愛中央處理器)
看板puzzle
標題Re: [問題] 邏輯推理...(誠實說謊,三人)
時間Tue Jan 29 12:27:51 2008
※ 引述《mountainpig (小人報仇一天到晚)》之銘言:
: 有甲、乙、丙三個精靈,其中一個只說真話,另外一個只說假話,還有一個隨機地決定
: 何時說真話,何時說假話。
: 你可以向這三個精靈發問三條是非題,而你的任務是從他們的答案找出誰說真話,誰說
: 假話,誰是隨機答話。
: 你每次可選擇任何一個精靈問話,問的問題可以取決於上一題的答案。這個難題困難的
: 地方是這些精靈會以「Da」或「Ja」回答,但你並不知道它們的意思,只知道其中一個
: 字代表「對」,另外一個字代表「錯」。
: 你應該問那三條問題呢?
如果能同時向三個精靈問問題算一次的話,我會這樣問:
1.問:「
你們自己本身永遠說真話嗎?」
精靈可能回答
DaDaDa(JaJaJa)、
DaDaJa(JaJaDa)、
DaJaDa(JaDaJa)、
JaDaDa(DaJaJa)
回答裡面出現
次數較多的就是「對」的意思,例:
DaDaDa、DaDaJa、DaJaDa、JaDaDa表示Da是代表「對」的意思
因為這個問題,「只說真話」跟「只說假話」的兩個精靈一定會回答一樣
註:紅色綠色一組代表兩種回答是等價的
2.知道Da跟Ja代表的「對」、「錯」意思後,
我會這樣問:「
你們自己本身是隨機答話嗎?」
這個問題「只說真話」跟「只說假話」的答案一定不一樣,「隨機說話」的答案
一定會跟其中一個一樣,所以可以從回答裡面出現
次數較少的來判斷:
誰是「只說真話」或「只說假話」
3.知道誰「只說真話」或「只說假話」後,
只要再問一句:「
編號n的精靈是隨機說話的嗎?」
就可以知道所有答案了
註:n要視第二個問題的回答做調整
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.52.162
1F:推 puzzlez:回答得太棒了!^^ GOOD JOB!!(請原諒我看了很久^^") 01/29 22:05
2F:→ EricTao:一次只能一個吧 ?__? 01/29 23:55
3F:推 mountainpig:有"你每次可選擇任何一個精靈問話"這句 所以..應該..? 01/30 00:34
4F:推 icespeech:一次只能一個吧 @_@a...我po一下我以前的解法好了 01/30 03:38