作者arthurduh1 (arthurduh1)
看板puzzle
标题Re: [问题] 益智问答(10)猜帽子
时间Sat Apr 16 21:59:40 2016
※ 引述《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) 人以前(包含),必定有人会知道自己帽子的颜色
而且此数无法改进
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.230.45
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/puzzle/M.1460815182.A.8C3.html
※ 编辑: arthurduh1 (140.112.230.45), 04/16/2016 22:26:24
※ 编辑: arthurduh1 (140.112.230.45), 04/16/2016 23:04:20
1F:推 pikacha: 感恩! 04/16 23:16