SunGame 发表于 2022-9-27 16:43:08

这道题难就难在两瓶毒酒。1000桶酒可以用十位二进制数来表示。这十位分成5段两位二进制数,每一段可以分成四部分,用3个囚犯试第0,1,2部分,如果2个囚犯中毒,则第3部分无毒,否则是未定状态。为了把这5段的连接关系确定,又要在间隔处左右各取1位二进制数,间隔段0的D0=A0^A1,D1=A2,间隔段1的D0=A3,D1=A4^A9,间隔段2的D0=A0^A5,D1=A6,间隔段3的D0=A7,D1=A8^A9,又用3名囚犯,5段加4段再乘以3,总共27名囚犯。至于第3部分状态未定时,只要一级一级下去,在哪一级出现2名囚犯中毒,就可以确定前面的所有未定状态。最多到最后一级,总归可以确定。这样就能得到10位二进制数,确定两桶酒是哪两桶。

Rime997 发表于 2024-4-21 20:09:33

mathe 发表于 2009-6-11 08:45
这下在Sloane网站中找到位置了:
https://oeis.org/A054961
根据A054961,有


您好!想问一下为什么这个问题和“N个二进制码两两按位或不相同,编码最短几位”这个问题是等价的?
页: 11 12 13 14 15 16 17 18 19 20 [21]
查看完整版本: 毒酒问题(加强版)