[2021-09-29]经典面试——黑白帽

标题:

一群人在跳舞,每人头上戴着一顶帽子。帽子只有黑白两种,黑色的至少有一种。每个人都能看到别人帽子的颜色,却看不到自己的。主持人先给大家看别人戴的是什么帽子,然后关灯。如果有人认为自己戴了黑帽子,就会给自己一记耳光。

第一次关灯,没有声音。

于是我又开灯,大家又看了一遍。当我关灯的时候,还是一片寂静。

直到第三次关灯,才有了一记耳光。

问:有多少人戴着黑帽子?

回答:三个人。

话题分析:

假设只有一个人戴着黑帽子:那么他看到别人戴着白帽子就很容易知道自己是黑帽子,再加上至少有一顶黑帽子的规则,那么他第一次关灯就应该扇自己一巴掌。

假设只有两个人戴黑帽子:那么他第一眼看到地里有一顶黑帽子,那么他应该排除戴黑帽子,他第一次关灯的时候应该意识到自己戴的是黑帽子,而不是一个耳光。

假设有三个人戴着黑帽子:那么他可以看到田野里有两顶黑帽子,他应该意识到在当前的两个耳光还没有响起之后,田野里应该有三顶黑帽子,而他就是其中之一。于是第三次关灯后,我想起了那记耳光。