PTA 07-图4 哈利·波特的考试 (25分)
Posted 我是一个小木匠!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA 07-图4 哈利·波特的考试 (25分)相关的知识,希望对你有一定的参考价值。
/* 1.用floyd 求多源最短路径~ 2.找出节点k到其他节点的最短路径的最大值 MAX[k]. 3 在找出MAX数组中最小的即为所求~~ 如果最小值为INF~~~ 说明图不连通! 输出0 */ #include "iostream" using namespace std; #define INF 101 int map[101][101]; void floyd(int v) { int i, j, k; for(k=1;k<=v;k++) for(i=1;i<=v;i++) for (j = 1; j <= v; j++) { if (map[i][k] + map[k][j] < map[i][j]) map[i][j] = map[i][k] + map[k][j]; } } int main() { int v, e; cin >> v >> e; for (int i = 1; i <= v; i++) for (int j = 1; j <= v; j++) { if (i == j) map[i][j] = 0; else map[i][j] = INF; } while (e--) { int a, b, c; cin >> a >> b >> c; map[a][b] = map[b][a] = c; } floyd(v); int MIN = INF; int MAX = 0; int index; for (int i = 1; i <= v; i++) { MAX = 0; for (int j = 1; j <= v; j++) { if (map[i][j] >= MAX) MAX = map[i][j]; } if (MAX < MIN) { MIN = MAX; index = i; } } if (MIN == INF) { cout << "0"; return 0; } cout << index << " " << MIN << endl; return 0; }
以上是关于PTA 07-图4 哈利·波特的考试 (25分)的主要内容,如果未能解决你的问题,请参考以下文章