最短路之Floyd算法
代码如下:
#include <bits/stdc++.h>
#define maxn 105
using namespace std;
int w[maxn][maxn];
int main()
{
int n, m, a, b, c;
memset( w, 0x3f, sizeof( w));
scanf( "%d%d", &n, &m);
for ( int i = 1; i <= n; i++)
w[i][i] = 0;
while ( m--){
scanf( "%d%d%d", &a, &b, &c);
w[a][b] = w[b][a] = min( w[a][b], c);
}
for ( int i = 1; i <= n; i++){
for ( int j = 1; j <= n; j++){
for ( int k = 1; k <= n; k++)
w[j][k] = min( w[j][k], w[j][i] + w[i][k]);
}
}
for ( int i = 1; i <= n; i++){
for ( int j = 1; j < n; j++){
printf( "%d ", w[i][j]);
}
printf( "%d\n", w[i][n]);
}
return 0;
}#include <bits/stdc