阿里面试题,N个士兵的通话问题

战场上不同的位置有N个战士(n>4),每个战士知道当前的一些战况,现在需要这n个战士通过通话交流,互相传达自己知道的战况信息,每次通话,可以让通话的双方知道对方的所有情报,设计算法,使用最少的通话次数,是的战场上的n个士兵知道所有的战况信息,不需要写程序代码,得出最少的通话次数。

 当n >4时,答案是2n-4

原问题详见一篇论文:Gossips and Telephones

http://www.mathematik.uni-bielefeld.de/~sillke/PUZZLES/gossips.pdf

posted on 2013-09-21 19:42  brainworm  阅读(369)  评论(0编辑  收藏  举报

导航