Cod sursa(job #144107)
Utilizator | Data | 27 februarie 2008 11:18:25 | |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
program roy;
var A : array [1..100,1..100] of integer;
n,i,j,l : shortint;
f : text;
begin
assign(f,'royfloyd.in');
reset(f);
readln(f,n);
for i := 1 to n do
for j := 1 to n do
read(f,A[i,j]);
close(f);
for i := 1 to n do
for j := 1 to n do
for l := 1 to n do
if (i<>j) and (l<>j) then
if A[i,j] > A[i,j]+A[j,l] then A[i,j] := A[i,l]+A[l,j];
assign(f,'royfloyd.out');
rewrite(f);
for i := 1 to n do begin
for j := 1 to n do
write(f,A[i,j],' ');
writeln(f);
end;
close(f);
end.