for (int k
= 0; k
< n
; ++k
) {
for (int i
= 0; i
< n
; ++i
) {
for (int j
= 0; j
< n
; ++j
) {
if (d
[i
][k
] < INF
&& d
[k
][j
] < INF
) {
d
[i
][j
] = min(d
[i
][j
], d
[i
][k
] + d
[k
][j
]);
}
}
}
}
有向图的传递闭包
d
[i
][j
] = d
[i
][j
] || (d
[i
][k
] && d
[k
][j
]);
转载请注明原文地址: https://lol.8miu.com/read-30095.html