作者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