|
正如Hu兄所言,尽管根据题目给定的条件,囚犯们都很聪明,但这还不够,前面取数的人还要将信息清楚的传给后面的弟兄们。这里信息的传递不是由前面的人一下子就能让所有的后继者都清楚他的方法,而应该是逐步传递下去的。每个人根据所剩豆数,#2传信息给#3,#3传给#4,。。。
那么,当#1很自然地取了 1(定义了下限),#2应该取一个数使得后来者取的数都无法超越自己(舍己救人)。这个数其实也就定义了一个上限。问题是#2 可以在一个很大范围内取(上限)值(例如,开开说的可以从50到72),且保证后继者无法超越。但是,取哪一个值,或哪一些值能够将信息准确地传递下去?开开正确地提出来#2 应该取 72。这是因为数值 72 在#2可取值范围内有它的特殊性,即72 是#2可取值范围的最大上限,是唯一的。得知#2 取走了72,#3(也是聪明人)得到信息,在保证后继者安全的前提下,它应该取自己可能取值范围的最大上限,即,数值 7。依次,信息传递下去,#4取6,#5取5,。。。得开开解。又知,在#2可取值的范围内也一定存在一个唯一的最小上限。同72一样,这个值也是#2取值范围内的一个具有唯一性的“特殊”数值。如果#2取这个值,#3也应该得到从#2传来的信息。那就是在自己可能取值的范围内取最小上限值。然后,这个信息依次传递下去也可以使得剩下的囚犯都得以生存。这两个过程在信息内容和传递方面没有什么实质性的不同。所以根据题意,大家都是"很聪明的人“,都应该能抓住前者送来的信息。 这样最后,不管是遵循那个过程,除#1,#2外,大家都得救。
从趣味性方面来看,#2最大上限的取值是根据后继者取数的“最小安全数组”(7,6,5,4,3,2)之和来确定的;#3最大上限的取值也是根据后继者取数的“最小安全数组”(6,5,4,3,2)之和来确定的;。。。相对来说,“最小安全数组”的确定比较容易 Eyeballed out。而每个人的最小上限值的发现却不是那么显然,需要一些思考。但是这种思考仍不超出初等(数学)推理和运算的范畴。况且已知这些囚徒都是“很聪明的人”。这样,如果#2取最小上限为值,那么,#3自然就会思想为什么#2不取似乎显然的 72(最大上限)? 经过思考#3应该会很快地发现#2取的数也是一个特殊值---最小上限值!这样,他也就照葫芦画瓢,。。。。依次,后继者都得救。
这也就是俺在Hu兄题目下加上一个延伸的初衷---增加一些趣味性。
|
|