poj 1125 Stockbroker Grapevine
2012-08-03 13:22
309 查看
用floyd算法求出任意两点之间的距离,然后从一点出发找到其他点的最大的距离,找从所有点出发到其他点里的最大距离这一集合的最小值,就是所求.
#include<stdio.h> #include<string.h> #define MAXN 110 int n, m, d[MAXN][MAXN]; int main() { while(scanf("%d",&n)) { if(n == 0) break; memset(d,0x3f,sizeof(d)); for(int i = 1; i <= n; i ++) { scanf("%d",&m); for(int j = 0; j < m; j ++) { int a, b; scanf("%d%d",&a,&b); d[i][a] = b; } } for(int k = 1; k <= n; k ++) for(int i = 1; i <= n; i ++) for(int j = 1; j <= n; j ++) { if(d[i][j] > d[i][k] + d[k][j]) d[i][j] = d[i][k] + d[k][j]; } int max; int min = 0x7fffffff; int flag = 0; for(int i = 1; i <= n; i ++) { max = 0; for(int j = 1; j <= n; j ++) { if(i != j && max < d[i][j]) max = d[i][j]; } if(min > max) {min = max;flag = i;} } if(min > 10000000) printf("disjoint\n"); else printf("%d %d\n",flag,min); } return 0; }
相关文章推荐
- poj 1125 Stockbroker Grapevine
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
- POJ 1125 Stockbroker Grapevine(floyd两点间最短距离)
- POJ1125 Stockbroker Grapevine
- ACM篇:POJ 1125 --Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine(求最短路径—Floyd算法)
- POJ 1125 Stockbroker Grapevine(DP)
- [poj 1125]Stockbroker Grapevine[Floyd最短路]
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine 代码及分析
- POJ1125——Stockbroker Grapevine
- poj-1125-Stockbroker Grapevine-Floyd
- POJ 1125 Stockbroker Grapevine (Floyd最短路)
- POJ训练计划1125_Stockbroker Grapevine(Flody算法)
- POJ 1125 Stockbroker Grapevine (FloydWarshall 所有点对最短路径)
- POJ 1125 Stockbroker Grapevine (Floyd)
- Stockbroker Grapevine - poj 1125 (Floyd算法)
- poj1125 Stockbroker Grapevine