floyd算法是求所有点之间的最短路的,复杂度O(n3)代码简单是最大特色

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 const int maxn=105;
 5 const int INF=0x3f3f3f3f;
 6 int g[maxn][maxn],n;
 7 
 8 inline int min(int a,int b){return a<b?a:b;}
 9 inline int max(int a,int b){return a>b?a:b;}
10 
11 
12 
13 memset(g,0x3f,sizeof(g));  //之后再对g进行赋值,g[i][j]表示i到j的距离
14 for(int k=1;k<=n;++k){
15     for(int i=1;i<=n;++i){
16         for(int j=1;j<=n;++j){
17             g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
18         }
19     }
20 }