一个同行的朋友前往某公司面试,在笔试的最后一题,出了这么一个问题:(分值为20分)
一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什么不同,小孩在没生出来之前,没人知道他是什么颜色的眼镜,这个村子中间有一个广场,是村民们聚集的地方,现在这个村子有三个人,分住三处,在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在晚上自杀的话,他就会升入天堂,这三个人不能够用语言告诉对方眼睛的颜色,也不能用任何方式提示对方的眼睛是什么颜色,而且也不能用镜子,水等一切有反光的物质来看到自己眼睛的颜色。当然,他们不是瞎子,他们能看到对方的眼睛,但就是不能告诉他,他们只能用思想来思考。
于是他们每天就一大早来到广场上,面对面的傻坐着,想自己眼睛的颜色。
一天天过去了,一点进展都没有。
直到有一天,来个一个外地人,他到广场说了一句话,改变了他们的命运,他说,你们之中至少有一个人的眼睛是红色的,说完就走了。这三个人听了之后,又面对面的坐到晚上才回去睡觉,第二天,他们又来到广场,又坐了一天。当天晚上,就有两个人成功的自杀了。第三天,当最后一个人来到广场,看到那两个人没来,知道他们成功的自杀了,于是他也回去,当天晚上,也成功自杀了。
根据以上,请说出先后自杀的三个人的眼睛的颜色,并说出推理过程。
当时朋友就是一脸懵逼的表情,面试个ios需要这么复杂吗,然后迅速拍照发群里,让我们瞻仰一下现在的面试题。
闲来无事之下,便对这个逻辑题进行了解答。
首先是抓重点
1. 前面啰里啰嗦的一大堆话就是告诉我们:这个世界的规则就是这样,不管什么手段都不能搞清楚自己眼睛的颜色,只能思考。
2. ‘你们之中至少有一个人的眼睛是红色的’,这个意思很明显,红眼睛人数>=1。
3. 接下来就是列逻辑了,假设这三个人分别是A,B,C。第二天自杀的是A,B。第三天自杀的是C。
这是每个人看到的东西,A可以看到B和C的眼睛,以此类推
A--->B + C
B--->A + C
C--->A + B
第一天:
无人自杀(判断:如果只有一个红眼睛,两个蓝眼睛,那么红眼睛看到其他两个人的颜色为蓝色,就立刻可以知道自己是红眼睛,在第一天的时候就会去自杀。结论:红眼睛人数>=2。(该条件被A,B,C三人同时判断出))
第二天:
A成功自杀,B成功自杀。(判断:A,B同时自杀成功,也就是A看到的条件跟B看到的条件相同,在第一天的结论下继续判断,如果A,B看到的都是红眼睛,那么A,B在这一天不能确定自己的颜色,不会自杀。结论:红眼睛人数=2,蓝眼睛人数=1,这里就直接可以得出结论,A,B为红眼睛,C为蓝眼睛(该条件被C判断出))
第三天:
C成功自杀。
最终就是
A(红)--->B(红) + C(蓝)
B(红)--->A(红) + C(蓝)
C(蓝)--->A(红) + B(红)