有A、B、C三个恐龙,其中1个只说真话,另外1个只说假话。还有1个随机地决定何时说真话,何时说假话。你可以向这三个恐龙发问三条对错题,而你的任务是从他们的回答中找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些恐龙会以“Da”或“Ja”回答,但你并不知道他们的意思,只知道其中1个字代表“对”,另外1个字代表“错”。你应该问那3条问题呢? PS:每次问题只能向一个恐龙提问 答案: 第1问-----Q1 : 找出一条T或者F恐龙,这步最难。 向A恐龙问:“如果我说B是U恐龙,你会回答Da吧?” 如果A回答Da,则C恐龙(第3条恐龙)是T或F 如果A回答Ja,则B恐龙是T或F ---------------------------------------------------- 有三类情况, 1)A是U 2)B是U 3)C是U 分别讨论 1)A是U A会做出一个随机的答复,无论A说Da还是Ja,B都是T或者F恐龙,C同样。 2)B是U (则C是一条T或者F恐龙) “B是U恐龙”这个说法是正确的。以下再分Da=“是”,和Ja=“是”两种情况讨论 当Da=“是”时 若A是T恐龙,对于“B是U恐龙?”这个问题它会如实回答,“Da(是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙也会如实作答“Da(是)”; 若A是F恐龙,对于“B是U恐龙?”这个问题它会骗人,“Ja(不是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙继续骗人“Da(是)” 当Ja=“是”时 若A是T恐龙,对于“B是U恐龙?”这个问题它会如实回答,“Ja(是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙也会如实作答“Da(不是)”; 若A是F恐龙,对于“B是U恐龙?”这个问题它会骗人,“Da(不是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙继续骗人“Da(不是)” 所以只要B是U(则C是一条T或者F恐龙),最终答案总是"Da" 3)C是U (则B是一条T或者F恐龙) “B是U恐龙”这个说法是错误的。以下再分Da=“是”,和Ja=“是”两种情况讨论 当Da=“是”时 若A是T恐龙,对于“B是U恐龙?(错误)”这个问题它会如实回答,“Ja(不是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙也会如实作答“Ja(不是)”; 若A是F恐龙,对于“B是U恐龙?(错误)”这个问题它会骗人,“Da(是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙继续骗人“Ja(不是)” 当Ja=“是”时 若A是T恐龙,对于“B是U恐龙?(错误)”这个问题它会如实回答,“Da(不是)”。则提问者“.....你会回答Da吧?”的说法是正确的,A恐龙也会如实作答“Ja(是)”; 若A是F恐龙,对于“B是U恐龙?(错误)”这个问题它会骗人,“Ja(是)”。则提问者“.....你会回答Da吧?”的说法是错误的,A恐龙继续骗人“Ja(是)” 所以只要C是U(则B是一条T或者F恐龙),最终答案总是"Ja" 综合1)、2)、3)我们发现,只要回答"Da",则C就是一条T或者F恐龙。反之,则B是一条T或者F恐龙 找到了一个T或F,Q1的目的达到 |