Cod sursa(job #144933)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 28 februarie 2008 09:49:21
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var A : array [1..100,1..100] of integer;
    i,j,k,m,n : integer;
    f : text;
begin
assign(f,'royfloyd.in');
reset(f);
readln(f,n);

for i := 1 to n do begin
for j := 1 to n do
read(f,A[i,j]);
readln(f);
end;

close(f);

for k := 1 to n do
for i := 1 to n do
for j := 1 to n do
if (A[i,k]<>0) and (A[k,j]<>0) and (i<>j) then
                                          if (A[i,j]>A[i,k]+A[k,j]) or (A[i,j]=0) then A[i,j] := A[i,k]+A[k,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.