25 lines
511 B
Plaintext
25 lines
511 B
Plaintext
proc floydwarshall w[][] n .
|
|
for i to n
|
|
con[][] &= [ ]
|
|
for j to n : con[i][] &= 1 / 0
|
|
.
|
|
for i to len w[][]
|
|
con[w[i][1]][w[i][2]] = w[i][3]
|
|
.
|
|
for k to n
|
|
for i to n
|
|
for j to n
|
|
con[i][j] = lower con[i][j] (con[i][k] + con[k][j])
|
|
.
|
|
.
|
|
.
|
|
for i to n
|
|
for j to n
|
|
if i <> j
|
|
print i & " -> " & j & " : " & con[i][j]
|
|
.
|
|
.
|
|
.
|
|
.
|
|
floydwarshall [ [ 1 3 -2 ] [ 2 1 4 ] [ 2 3 3 ] [ 3 4 2 ] [ 4 2 -1 ] ] 4
|