今天在网上看到了一道推理题,挺有意思的。题目如下:
P先生、Q先生都具有足够的推理能力。这天,他们正在接受推理面试。 他们知道桌子的抽屉里有如下16张扑克牌: 红桃 A、Q、4 ;黑桃 J、8、4、2、7、3 ;草花 K、Q、5、4、6 ;方块 A、5
约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌 的花色告诉Q先生。这时,约翰教授问P先生和Q先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?
P先生:”我不知道这张牌。” Q先生:”我知道你不知道这张牌。” P先生:”现在我知道这张牌了。” Q先生:”我也知道了。” 请问:这张牌是什么牌?
Solution
简单地翻译一下题目意思,总共有3个人玩一个游戏(我们处于吃瓜群众的视角来观察每个人的举动,推理结果),其中一个人上帝视角知道答案并且告诉了P先生牌的点数,同时还告诉了Q先生牌的花色。Ps:所有人都知道所有16张牌的花色与点数的,最后的结果就是这16张牌的某一张。
首先P先生说话了,“我不知道这张牌。” P先生是知道牌的点数的,那么这句话的意思就是:P先生知道的点数是无法确定花色,那么这个点数对应的花色至少有2个。 我们观察所有的16张牌,符合上述条件的牌的点数只有: A,5,Q,4
Q先生说:”我知道你不知道这张牌。” 这个时候,Q先生已知的有用的信息只有牌的花色。那么,Q先生这句话的表明:在Q先生的视角,Q先生可以确定P先生在只知道牌的点数的情况下是无法知道这张牌的花色的。意思就是说,Q先生知道的牌的花色中每一张牌的点数都至少与其他牌重复一次。那么,我们在回头看看所有的16张牌,符合条件的只有红桃与方块。这里,我们知道了牌的花色是:红桃或者方块
P先生在分析了2句对话的信息后,说:”现在我知道这张牌了。” 很简单,P先生分析了Q先生上句话的意思,知道牌的花色不是红桃就是方块,然后再看看已知的点数,就可以确定了是哪张牌了。 这个时候,作为吃瓜群众的我们,是无法得知结果的。但是,我们可以确定牌的点数不是A,因为A在红桃,方块里面都存在,只有可能是 Q,4,5中的某一张。
然后,Q先生说:”我也知道了。”这个时候,在Q先生的视角,牌的点数只有可能是 Q,4,5中的某一张,不可能是A。然后Q先生得知了这个信息后,找到了牌的点数。作为吃瓜群众的我们只能认为,Q先生知道的牌的花色为方块,因为只有方块只有2个点数,排除了A。那么就只剩下5了。
最后,吃瓜群众也知道了结果:方块5.
之前本科考试数据结构的时候,就有一个海盗分赃的问题,也是类似的推理,但是比这个脑洞稍微大一点点,有兴趣可以google