1
已解决
韩子靖
初级守护
初级守护
1273
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
int dis[110][110];
using namespace std;
int main()
{
int n,m;
int x,y,z;
cin>>n>>m;
memset(dis,0x7f,sizeof(dis));
for (int i=1;i<=m;i++)
{
cin>>x>>y>>z;
dis[x][y]=dis[y][x]=z;
}
for (int i=1;i<=n;i++)
{
dis[i][i]=0;
}
for (int k=1;k<=n;k++)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;i++)
{
if (i!=j && j!=k && i!=k)
{
if (dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j];
}
}
}
}
int max1=-32768;
for (int i=1;i<=n;i++)
{
if (max1<dis[1][i]) max1=dis[1][i];
}
if (max1>=1000000) cout<<"-1"; else
cout<<max1;
return 0;
}
我的代码为什么不出结果???