太蒻了,调不出了。QAQ
#include<bits/stdc++.h>
using namespace std;
long long dis[220][220];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=200;i++)
for(int j=1;j<=200;j++)
{
dis[i][j]=INT_MAX;
}
for(int i=1;i<=m;i++)
{
long long u,v,w;
cin>>u>>v>>w;
dis[u][v]=min(dis[u][v],w);
dis[v][u]=min(dis[v][u],w);
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
if(k!=i&&k!=j&&i!=j)dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
//dis[j][i]=dis[i][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(dis[i][j]!=0x3f&&i!=j)cout<<dis[i][j]<<" ";
else cout<<0<<" ";
}
cout<<endl;
}
}