首页 > 其他 > 详细

UVa 423 - MPI Maelstrom

时间:2014-11-24 01:12:21      阅读:448      评论:0      收藏:0      [点我收藏+]

题目: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;
}


UVa 423 - MPI Maelstrom

原文:http://blog.csdn.net/mobius_strip/article/details/41422605

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!