|
tree_new_bee 发表于 2012-5-16 15:26 ![]()
趣题6: 不同地的6个人各自知道一条不同的消息,要使每个人都知道所有消息,如果通过一对一的打电话方式,至 ...
6个人设为A、B、C、D、E、F
每通过一次电话,相当于将两个人知晓的信息结合在一起,不妨将这二人的字母结合在一起表示相互知道了对方的信息。第一个人要知道所有的信息,最少需要5次电话
A(A)<->B(B) => A(AB), B(AB) ,括号内的表示他们知晓的信息。C和D、E和F也如是,这样就是三次。
让A先知晓所有信息,A(AB)<->C(CD) => A(ABCD), C(ABCD)
A(ABCD)<->E(EF) => A(ABCDEF), E(ABCDEF)
于是,总共5次,A和E就得知了所有的信息
这时候,BCDF的状态分别是B(AB)/C(ABCD)/D(CD)/F(EF),很显然,还是应采取之前“互补”的策略方能最快达到得知所有信息的目的。当然,当出现“信息孤岛”时,直接与已得知所有信息的人打电话,就可以一次得到所有信息了。
后续策略C(ABCD)<->F(EF) =>C(ABCDEF), F(ABCDEF)
B和D如果做互补,则互补后还各需一次通话才能得知所有消息,总共三次,所以不如他们直接与知道所有消息的人直接通话来得快,因为这样总共只需要两次。这说明,不能完全互补的两个人,需要看情况来觉得到底是互补一下再与全信息的人通话,还是直接与全信息的人通话。
所以,6个人,总共需要打5+1+2=8次电话就可以了 |
|