Re: [问题] 益智问答(10)猜帽子

楼主: arthurduh1 (arthurduh1)   2016-04-16 21:59:40
※ 引述《pikacha (小亿)》之铭言:
: 话说某个有$的人想找位管家,他出了这个问题:
: 这有10个人站成一直线,每人头上有一顶帽子,每个人都看不见自己的帽子颜色...
: 但是每个人都能看见站在自己前面"所有人"的帽子颜色!
: EX:第10人可以看见前面9人的帽子颜色,第9人可以看见前面8人的帽子颜色
:    以此类推...
:    已知帽子有3红,4黑,5白。
:    现在问第10人能否100%确定自己的帽子颜色,第10人回答说不能!
:    如果依序问第9人、第8人、第7人...到第2人都回答说不能...
:    你能说出第一人的帽子是什么颜色吗?
: (或是必然有人能回答自己帽子的颜色?!)
:    当然,这10个人都是厉害的推理高手!
: ==防雷==
如果没计算错是第六个人(包含)之前
一定会有人知道自己帽子颜色
方法是讨论“自己看不到的帽子”
可以用整数的 partitions 来分类
比如说,第十人看不到的帽子,
可能性是 [3,0,0], [2,1,0], [1,1,1]
若是猜得出来,
他看不到的帽子就一定是 [3,0,0] 这种样式
接着一步步推下去,
第九人看不到的帽子有
[4, 0, 0], [3, 1, 0], [2, 2, 0], [2, 1, 1]
这些可能性
举例来说, [3,1,0] 会让第九人知道自己帽子的颜色
因为在这个情况下,
第十人的可能性是 [3,0,0] 和 [2,1,0]
但若是 [3,0,0],第十人就不会说自己不知道
另外 [4,0,0] 则是不可能出现的,
因为在这个情况下,第十人必定是 [3,0,0],
不可能轮到第九人
接着我是写了一个程式去列啦
手算也不是不行,但我的计算能力...
第十人: [3, 0, 0], [2, 1, 0], [1, 1, 1]
第九人: [4, 0, 0], [3, 1, 0], [2, 2, 0], [2, 1, 1]
第八人: [5, 0, 0], [4, 1, 0], [3, 2, 0], [3, 1, 1], [2, 2, 1]
第七人: [5, 1, 0], [4, 2, 0], [4, 1, 1], [3, 3, 0], [3, 2, 1], [2, 2, 2]
第六人: [5, 2, 0], [5, 1, 1], [4, 3, 0], [4, 2, 1], [3, 3, 1], [3, 2, 2]
这些代表这些人“看不到的帽子”的可能情况
黄色是可以猜出来,红色则是完全不可能发生
可以看出第六人必定能猜出来
另外也可以知道,
如果第十人猜不出来
他所看到的帽子必定要有 白白白黑黑红 这六顶
一旦有个人发现少了一顶
那他就一定可以知道自己头上帽子的颜色
因此第六人之前一定会有人猜出来
但接下来要怎么证这个六是最小的
我就不晓得了
想到了!
就说比 [2,2,2] “小”的 partitions 会让人猜不出来就好了
补上最后结论:
若有 A_i 顶颜色为 i 的帽子, i=1,2,...,n,并让 (ΣA_i)-R 个人戴上
然后玩题述的游戏
那么在第 Σmax(A_i-R,0) 人以前(包含),必定有人会知道自己帽子的颜色
而且此数无法改进
作者: pikacha (小亿)   2016-04-16 23:16:00
感恩!

Links booklink

Contact Us: admin [ a t ] ucptt.com