Floyd

节点 i 到节点 j 的最短路径有2 种可能:从 i 到 j 或从 i 经过若干个节点 k 到 j

循环三层 k , i , j

for(int k=1;k<=n;k++)
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);

 

posted @ 2019-01-22 22:18  yyyr  阅读(89)  评论(0编辑  收藏  举报