mairuisheng • 11个月前
#include<bits/stdc++.h>
using namespace std;
long long n,m,x,y,z,a[105][105],i,j,k,ans=0;
int main()
{
scanf("%lld %lld",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==j)a[i][j]=0;
else a[i][j]=114514;
}
}
for(i=1;i<=m;i++)
{
scanf("%lld %lld %lld",&x,&y,&z);
a[x][y]=a[y][x]=z;
}
for(k=1;k<=n;k++)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i!=j&&i!=k&&j!=k)
{
if(a[i][k]+a[k][j]<a[i][j])
{
a[i][j]=a[i][k]+a[k][j];
}
}
}
}
}
for(i=1;i<=n;i++)
{
if(a[1][i]==114514)
{
puts("-1");
return 0;
}
ans=max(ans,a[1][i]);
}
printf("%lld",ans);
return 0;
}
评论: