多源最短路

  • Floyed算法
  • #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int d[310][310],n,m;
    int main(){
        memset(d,0,sizeof(d));
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            int x,y,z;
            scanf("%d%d%d",&x,&y,&z);
            d[x][y]=min(d[x][y],z);
        }
        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                    d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++)
                printf("%d",d[i][j]);
            puts("");
        } 
        return 0;
    }

猜你喜欢

转载自www.cnblogs.com/ckyanos/p/10519853.html