zoj 1082 Stockbroker Grapevine(第一次写最短路径~~嘻嘻~)

来源:互联网 发布:汽车电脑编程叫什么 编辑:程序博客网 时间:2024/04/30 09:30

昨天CW给我们讲了最短路径哈~~大致理解明白了~发了两道题。做做看吧。

 

这道题大致含义就是,让你求最短的传播路径使之可以传播到所有的人。

 

这个是双向的,输入:

3
2 2 4 3 5
2 1 2 3 6
2 1 2 2 2

 

3是人数,下来的行数就是人的编号。第一行就是第一个人可以传播的方法。第一个2是接下来输入的对数。2 4 代表可以用4分钟传播给2号,3 5 代表可以用5分钟传播给3号。。。下面一样。

 

这个用邻接矩阵写比较方便哈。把时间写到一个2维数组里,不能传播到的写INT_MAX,对角都是0;

 

用for循环将每个人(i)作为起点,然后算传播到每个人的时间,会得到一个dis[]数组,里面存有i号人传播到每个人的时间,求这时间的最大值,保存。然后求出循环n个人后这个时间最大值里面的最小值,如果有传播不到的,输出"  disjoint  "。否则输出从几号开始传播 以及最短传播到所有人的时间。

 

原创粉丝点击