for(int k = 0; k < n; k ++)
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
if(a[i][j] > a[i][k] +a[k][j])
a[i][j] = a[i][k] + a[k][j];
2、求最小環:
for(int k = 0; k < n; k ++)
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
if(ans > a[i][j] + a[j][k] +a[k][i])
ans = a[i][j] + a[j][k] + a[k][i];
3、傳遞閉包:
for(int k = 0; k < n; k ++)
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
if(a[i][j] && a[j][k])
a[i][k] = 1;