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

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

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

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

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

原文地址:https://www.cnblogs.com/hengli/p/3331963.html