
floyd算法是求所有点之间的最短路的,复杂度O(n3)代码简单是最大特色
#include<stdio.h>
#include<string.h> const int maxn=;
const int INF=0x3f3f3f3f;
int g[maxn][maxn],n; inline int min(int a,int b){return a<b?a:b;}
inline int max(int a,int b){return a>b?a:b;} memset(g,0x3f,sizeof(g)); //之后再对g进行赋值,g[i][j]表示i到j的距离
for(int k=;k<=n;++k){
for(int i=;i<=n;++i){
for(int j=;j<=n;++j){
g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
}
}
}