#include<iostream>//最短路的,数据结构开始学习树了,貌似程序员考试要考最短路的,所以我就准备向把这方面的题目
//做下,在参考别人的代码后很痛苦的AC了,因为注释@
#include<cstdio>
using namespace std;
int map[105][105];
int main()
{
int n, m, a, b, c;
while(scanf("%d %d", &n, &m) != EOF)
{
if(n == 0 && m == 0 )
break;
int i, j;
int max1 = 99999999;//@一开始这里用max1 = INT_MAX 一直错我的天
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
{
if(i == j)
map[i][j] = 0;
else
map[i][j] = max1;
}
for(i = 1; i <= m; i++)
{
scanf("%d %d %d", &a, &b, &c);
if(c < map[a][b])
{
map[a][b] = c;
map[b][a] = c;
}
}
int k;
for(k = 1; k <= n; k++)
for(i = 1; i <= n; i++)
{
if(i != k)
for( j = 1; j <= n; j++)
{
if(i != j && k != j)
if(map[i][j] > map[i][k] +map[k][j])
{
map[i][j] = map[i][k] +map[k][j];
}
}
}
printf("%d/n", map[1][n]);
}
}
最短路 2544hdu
最新推荐文章于 2021-05-08 10:09:18 发布