Floyd模板
#include<cstdio>
#include<algorithm>
#define INF 0x3f3f3f3f
#define maxn 105
using namespace std;
int maps[maxn][maxn],n,m;
void Init(){
for(int i = 0; i <= n; i++)
for(int j = 0; j <= n ;j++){
if(i == j) maps[i][j] = 0; //floyd算法,要将对角线初始化为0!!!!
else maps[i][j] = INF; //例:k==1,i=j==3;
}
}
void Floyd(){
for(int k = 1; k <= n; k++)
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
maps[i][j] = min(maps[i][j],maps[i][k]+maps[k][j]);
}