码迷,mamicode.com
首页 > 其他好文 > 详细

POJ Stockbroker Grapevine 1125 多源最短路(Floyd)

时间:2014-12-05 10:54:00      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   os   sp   for   div   log   

题目大意:

股票经纪人散播谣言,总共n个人,问哪个经纪人能最快的传播谣言,然后输出那个人的编号和所散播谣言的最短时间, 假如每个点都无法全部散播的话则输出 "disjoint"

题目分析:

我们用Floyd求出每个点的最短路,

然后搜索每个点,看和这个点所连接点的最长时间就是这个人散播最后谣言的时间

然后从所有的点中找出时间最长的点

 

 1 #include <iostream>
 2 #include <cmath>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <cstdio>
 6 #include <algorithm>
 7 #include <vector>
 8 #include <queue>
 9 using namespace std;
10 #define INF 0xfffffff
11 #define maxn 150
12 
13 int G[maxn][maxn];
14 int n;
15 
16 void Floyd()
17 {
18     for(int k=1; k<=n; k++)
19     {
20         for(int i=1; i<=n; i++)
21         {
22             for(int j=1; j<=n; j++)
23             {
24                 G[i][j] = min(G[i][j],G[i][k] + G[k][j]);
25             }
26         }
27     }
28     int Min = INF, index = 1;
29 
30     for(int i=1; i<=n; i++)
31     {
32         int Max = 0;
33         for(int j=1; j<=n; j++)
34         {
35             Max = max(Max,G[i][j]);
36         }
37         if(Max < Min)
38         {
39             Min = Max;
40             index = i;
41         }
42     }
43 
44     if(Min == INF)
45         printf("disjoint\n");
46     else
47         printf("%d %d\n",index,Min);
48 
49 }
50 void Init()
51 {
52     for(int i=0; i<=n; i++)
53     {
54         G[i][i] = 0;
55         for(int j=0; j<i; j++)
56             G[i][j] = G[j][i] = INF;
57     }
58 }
59 
60 int main()
61 {
62     while(cin >> n, n)
63     {
64         int t, e, w;
65         Init();
66         for(int i=1; i<=n; i++)
67         {
68             cin >> t;
69             for(int j=0; j<t; j++)
70             {
71                 cin >> e >> w;
72                 G[i][e] = min(G[i][e],w);
73             }
74         }
75 
76         Floyd();
77 
78     }
79     return 0;
80 }

 

POJ Stockbroker Grapevine 1125 多源最短路(Floyd)

标签:style   blog   io   color   os   sp   for   div   log   

原文地址:http://www.cnblogs.com/chenchengxun/p/4145994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!