日期:2014-05-20  浏览次数:20906 次

阿里巴巴的一道去年的笔试题
甲、乙头上各顶一个帽子。两人都能看到对方编号,但不知道自己的。已知编号为非负数,且相差为1.甲开始说,我不知道我是几,乙说我也不知道我是几,甲说我知道我是几了,乙说我也知道我是几了。问甲乙编号分别是多少?
------解决方案--------------------
甲 2
乙 1
------解决方案--------------------
引用:
甲1
乙0


甲看到乙是0自然会知道自己是1了··不会一开始说不知道啊
------解决方案--------------------
甲1,乙2
------解决方案--------------------
引用:
5楼正解
看错   3楼正解
------解决方案--------------------
我错了,顶3楼
------解决方案--------------------
3楼正解,感觉这题目难度不大啊
------解决方案--------------------
甲2,乙1
因为非负数,且相差为1。
1:如果甲是0,那么乙肯定知道自己是1了。排除甲是0的情况。
2:如果乙是0,那么同样甲就知道自己是1了。同样排除乙是0的情况。
3:如果甲是1,乙是2,那么甲肯定不知道乙是几(1/3),乙同样不知道甲是几(2/0)。排除甲是1,乙是2的情况。
4:如果甲是2,乙是1,首先甲肯定不知道自己是几(0/2)。乙也不知道自己是几(1/3)。如果甲是0,那么乙肯定知道自己是1了,但是乙说不知道自己是几,所以甲就知道了,因为甲此时只能为2。
------解决方案--------------------
甲 2  乙 1 很简单的题目
------解决方案--------------------
首先甲乙都不可能是0, 不然不会出现前两句话

其二,甲第三句话,说知道自己的, 由此推断 乙的编号必然为1,如果乙大于等于2则甲是不可能知道自己的,因为在这种情况下仍然有两种选择,就和甲第一句话中说不知道自己的原因一样。

其三,乙想到了上面“其二”的逻辑,反推出自己必然就是甲看见的1
------解决方案--------------------
引用:
甲2,乙1
因为非负数,且相差为1。
1:如果甲是0,那么乙肯定知道自己是1了。排除甲是0的情况。
2:如果乙是0,那么同样甲就知道自己是1了。同样排除乙是0的情况。
3:如果甲是1,乙是2,那么甲肯定不知道乙是几(1/3),乙同样不知道甲是几(2/0)。排除甲是1,乙是2的情况。
4:如果甲是2,乙是1,首先甲肯定不知道自己是几(0/2)。乙也不知道自己是几(1/3)。如果甲是0,那么……

哇塞
------解决方案--------------------
为什么这种题目我第一眼看过去都是完全无头绪
------解决方案--------------------
甲2,乙1 或者 甲3乙2
楼主公布权威答案吧
------解决方案--------------------
甲2,乙1 或者 甲3乙2

------解决方案--------------------
引用:
甲2,乙1
因为非负数,且相差为1。
1:如果甲是0,那么乙肯定知道自己是1了。排除甲是0的情况。
2:如果乙是0,那么同样甲就知道自己是1了。同样排除乙是0的情况。
3:如果甲是1,乙是2,那么甲肯定不知道乙是几(1/3),乙同样不知道甲是几(2/0)。排除甲是1,乙是2的情况。
4:如果甲是2,乙是1,首先甲肯定不知道自己是几(0/2)。乙也不知道自己是几(1/3)。如果甲是0,那……


------解决方案--------------------
1、一开始双方都不知道,所以均为非零。因为如果有一方为0,那就有一人能判断出自己是多少了。
2、甲知道自己是几的情况:已知非0,且与乙的差为1,那甲就能判断出自己是2,因为如果乙大于1的话,甲就判断不出来自己是几,比如乙为2,那甲可以是1或3,这样甲就判断不了。
3、乙知道自己是几要先站在甲的角度想(按步骤2,假设乙自己为2,那么甲就确定不了自己是几了,既然甲能确定是几,那乙左右的两个数有一个是已被否定的,那就是0),这样乙再判断自己是几。

所以,甲是2,乙是1