怎么样才能求得要通知的最少人数~!
本帖最后由 wangzheng3056 于 2013-7-29 17:09 编辑时间:三国时期 ;地点:许昌;人物:曹操,你。
事件:
起因:曹操得知许昌城里有n个袁绍的奸细。(他们编号为1到n,奸细间存在着一 种消息传递关系,即若C=1,表示奸细i能直接把消息传给奸细j)。
经过:曹操想发布一个假消息,需要传达给所有奸细。曹操命令你来负责消息的发布。
结果:聪明的你把消息传递给了很少的几个奸细,就使所有奸细都得到了这个消息。问:最少传递给几个奸细就能完成任务?
Input 第一行为N,第二行至第N+1行为N*N的矩阵(若第I行第J列为1,则奸细I能将消息直接传递给奸细J,若第I行第J列为0,则奸细I不能直接将消息传给J )
Output 你最少要传递的奸细的个数 理论上这是一个图的遍历问题。理论上是不好找的最优解的。可能用到一些线性规划,或者用遗传算法或粒子群算法。具体的的突破还看大家和楼主的努力了~! 这个算法一旦实现,估计能拿个图灵奖~!{:3_48:}
页:
[1]