#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
int f[102][102];
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
f[i][j]=-1;
for(int i=1;i<=m;i++){
int x,y,z;cin>>x>>y>>z;
f[x][y]=z;
f[y][x]=z;
}
for(int i=1;i<=n;i++)f[i][i]=0;
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(f[i][k]!=-1&&(f[i][j]==-1||f[i][j]>f[k][j]+f[i][k])&&f[k][j]!=-1)
f[i][j]=f[k][j]+f[i][k];
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
cout<<f[i][j]<<' ';
cout<<endl;
}
return 0;
}
洛谷AC,但是。
5 12
1 2 967
2 3 900
3 4 771
4 5 196
2 4 788
3 1 637
1 4 883
2 4 82
5 2 647
1 4 198
2 4 181
5 2 665
0 280 637 198 394
280 0 853 82 278
637 853 0 771 967
198 82 771 0 196
394 278 967 196 0
这组过不了,在线等,玄关