最短路Floyd

发布时间 2023-12-03 21:49:31作者: potential-star
void floyd()
{

    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]);
}
init(){
 for (int i = 1; i <= n; i ++ )
        for (int j = 1; j <= n; j ++ )
            if (i == j) d[i][j] = 0;
            else d[i][j] = INF;
}
存边方式: d[a][b] = min(d[a][b], w);
# 如果是无向边需要加d[b][a]