B3647 【模板】Floyd - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h>
using namespace std;
const int N=1e2+10;
const int inf=0x3f3f3f;
int n,m;
int g[N][N];
void floyd()
{for(int k=1;k<=n;k++){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){g[i][j]=min(g[i][j],g[i][k]+g[k][j]);}}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin>>n>>m;memset(g,inf,sizeof(g));for(int i=1;i<=n;i++){g[i][i]=0;}for(int i=1;i<=m;i++){int u,v,w;cin>>u>>v>>w;g[u][v]=min(g[u][v],w);g[v][u]=min(g[v][u],w);}floyd();for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<g[i][j]<<' ';}cout<<endl;}return 0;
}