标签:blog io ar os sp for 数据 2014 log
题目:n个机器之间传递信息,求最长的传递时间。
分析:最短路。数据较小,任何一种最短路算法都可以解决。
说明:单源最短路(⊙_⊙)。
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define Inf 0x7fffffff
int g[101][101];
int main()
{
int n;
char buf[256];
while (~scanf("%d",&n)) {
for (int i = 0 ; i < n ; ++ i) {
for (int j = 0 ; j < i ; ++ j) {
scanf("%s",buf);
if (buf[0] != 'x')
g[i][j] = g[j][i] = atoi(buf);
else g[i][j] = g[j][i] = Inf;
}
g[i][i] = 0;
}
for (int k = 0 ; k < n ; ++ k)
for (int i = 0 ; i < n ; ++ i)
for (int j = 0 ; j < n ; ++ j)
if (g[i][k] != Inf && g[k][j] != Inf && g[i][j] > g[i][k]+g[k][j])
g[i][j] = g[i][k]+g[k][j];
int Max = 0;
for (int i = 0 ; i < n ; ++ i)
if (Max < g[0][i])
Max = g[0][i];
printf("%d\n",Max);
}
return 0;
}
标签:blog io ar os sp for 数据 2014 log
原文地址:http://blog.csdn.net/mobius_strip/article/details/41422605