图论专题A

看一眼题目,求商店1到赛场n的最短距离,第一感觉Floyd,看一眼数据,100以内,OK安排上。
#include <。iostream>(方便看,加。)
#include <。iomanip>
using namespace std;
const int MAX = 99999999;
int e[101][101];
int cs;
int main()
{
int m,n;
int a,b,c;
while (cin >> n >> m)
{
if (n == 0 && m == 0)
break;
cs=0;
for (int i = 0; i < 101; i++)
{
for (int j = 0; j < 101; j++)
{
e[i][j] = MAX;
}
}
for (int i = 1; i <= m; i++)
{
cin >> a >> b >> c;
e[a][b] = e[b][a] = c;
}
for (int k = 1; k <= n; k++)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (e[i][k] == MAX || e[k][j] == MAX)
continue;
if (e[i][j] == MAX || e[i][k] + e[k][j] < e[i][j])
e[i][j] = e[i][k] + e[k][j];
}
}
}
cout << e[1][n] << endl;
}
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值