Lang:G++
Edit123456789101112131415161718192021222324252627#include<cstdio>#include<cstring>int f[105][105];int n,m,i,j,k,x,y,z;int main(){memset(f,31,sizeof(f));scanf("%d%d",&n,&m);for (i=1;i<=m;i++){scanf("%d%d%d",&x,&y,&z);if (f[x][y]>z)f[x][y]=z;f[y][x]=f[x][y];}for (i=1;i<=n;i++)f[i][i]=0;for (k=1;k<=n;k++)for (i=1;i<=n;i++)for (j=1;j<=n;j++)f[i][j]=f[i][j]<f[i][k]+f[k][j]?f[i][j]:f[i][k]+f[k][j];for (i=1;i<=n;i++){for (j=1;j<n;j++)printf("%d ",f[i][j]);printf("%d\n",f[i][n]);}scanf("%d",&n);return 0;}