#include <bits/stdc++.h>
using namespace std;
#define X 100
int const inf=0x3f;
int n;
int m;
int u,v,w;
int zdl[X][X];
void floyd()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
zdl[j][i]=zdl[i][j]=min(zdl[i][j],zdl[i][k]+zdl[k][j]);
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
zdl[i][i]=0;
for(int j=1;j<=n;j++)
{
if(j==i)continue;
zdl[i][j]=inf;
}
}
while(m--)cin>>u>>v>>w,zdl[u][v]=zdl[v][u]=min(zdl[v][u],w);
floyd();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<zdl[i][j]<<' ';
}
cout<<'\n';
}
return 0;
}
需求助