求每兩點之間的最短路。還有個有意思的用處,判斷每兩點之間是否有通路,初始值設爲0或者1,d[i][j] = d[i][j] || (d[i][k] & d[k][j]),有向圖的傳遞閉包。
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] != max_int && d[k][j] != max_int)
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}