POJ Stockbroker Grapevine 1125 多源最短路(Floyd)
2014-12-05 10:00
573 查看
题目大意:
股票经纪人要散播股票的谣言,每个人都有人际关系,每个人只信任他相信的人传播的谣言, 其实也就是有向图。问 哪个人能最快的将谣言传播给所有人,并且求出传过去的最短时间。
题目分析:
我们用Floyd求出每个点的最短路,
然后搜索每个点,看和这个点所连接点的最长时间就是这个人散播最后谣言的时间
然后从所有的点中找出时间最长的点
股票经纪人要散播股票的谣言,每个人都有人际关系,每个人只信任他相信的人传播的谣言, 其实也就是有向图。问 哪个人能最快的将谣言传播给所有人,并且求出传过去的最短时间。
题目分析:
我们用Floyd求出每个点的最短路,
然后搜索每个点,看和这个点所连接点的最长时间就是这个人散播最后谣言的时间
然后从所有的点中找出时间最长的点
#include <iostream> #include <cmath> #include <cstring> #include <cstdlib> #include <cstdio> #include <algorithm> #include <vector> #include <queue> using namespace std; #define INF 0xfffffff #define maxn 150 int G[maxn][maxn]; int n; void Floyd() { for(int k=1; k<=n; k++) { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { G[i][j] = min(G[i][j],G[i][k] + G[k][j]); } } } int Min = INF, index = 1; for(int i=1; i<=n; i++) { int Max = 0; for(int j=1; j<=n; j++) { Max = max(Max,G[i][j]); } if(Max < Min) { Min = Max; index = i; } } if(Min == INF) printf("disjoint\n"); else printf("%d %d\n",index,Min); } void Init() { for(int i=0; i<=n; i++) { G[i][i] = 0; for(int j=0; j<i; j++) G[i][j] = G[j][i] = INF; } } int main() { while(cin >> n, n) { int t, e, w; Init(); for(int i=1; i<=n; i++) { cin >> t; for(int j=0; j<t; j++) { cin >> e >> w; G[i][e] = min(G[i][e],w); } } Floyd(); } return 0; }
相关文章推荐
- poj 1125 Stockbroker Grapevine(最短路 简单 floyd)
- POJ 1125 Stockbroker Grapevine(最短路 Floyd)
- POJ 1125 Stockbroker Grapevine Floyd 最短路
- POJ 1125 Stockbroker Grapevine(最短路&Floyd)
- POJ 1125 Stockbroker Grapevine (最短路 floyd)
- POJ ACM 1125 Stockbroker Grapevine (最短路Floyd)
- poj 1125 Stockbroker Grapevine (Floyd最短路)【模板】
- POJ1125_Stockbroker Grapevine_最短路::弗洛伊德
- POJ 1125 Stockbroker Grapevine 最短路 难度:0
- POJ 1125-Stockbroker Grapevine-最短路
- [floyd]POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine 最短路Floyd算法
- 【Floyd】POJ1125-Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine Floyd(基础题)
- POJ 1125 - Stockbroker Grapevine(最短路`Floyd)
- POJ 1125 Stockbroker Grapevine(最短路)
- POJ 1125 -- Stockbroker Grapevine (弗洛伊德最短路)
- POJ 1125 Stockbroker Grapevine Floyd .
- poj 1125 Stockbroker Grapevine (Floyd)
- POJ 1125:Stockbroker Grapevine:多源最短路径forld