本文共 591 字,大约阅读时间需要 1 分钟。
#include<stdio.h> #include<algorithm> using namespace std; #define INF 10000 int map[100][100]; int dis[100][100]; int main() { int n,m,a,b,c;//n¸ö¶¥µã£¬mÌõ±ß freopen("floyd.txt","r",stdin); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) dis[i][j]=INF; } for(int i=1;i<=n;i++) dis[i][i]=0; while(m--) { scanf("%d%d%d",&a,&b,&c); dis[a][b]=c; } for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]); } } } for(int i=1;i<=n;i++) { for(int j=1;j<=n ;j++) { printf("%d ",dis[i][j]); } printf("\n"); } return 0; }转载地址:http://meddi.baihongyu.com/