Floyd
#include<iostream> #include<algorithm> using namespace std; int dis[100][100]; const int inf = 210000; int main() { int n,m; cin>>n>>m; int x,y,z; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ dis[i][j]=inf; if(i==j){dis[i][j]=0;} } } for(int i=1;i<=m;i++){ cin>>x>>y>>z; dis[x][y]=dis[y][x]=z; } for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(dis[i][j]>dis[i][k]+dis[k][j]){ dis[i][j]=dis[i][k]+dis[k][j]; } } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<dis[i][j]<<" "; } cout<<endl; } }
如需转载,请注明出处
如有侵权,联系删除
2290713181@qq.com
如有侵权,联系删除
2290713181@qq.com