阅读背景:

hiho第二十四周

来源:互联网 
最短路之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



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: