Cod sursa(job #144913)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 28 februarie 2008 09:14:54
Problema Floyd-Warshall/Roy-Floyd Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.51 kb
var n,i,j,k:longint;
a:array[1..104,1..104] of longint;
f,g:text;
begin
assign(f,'royfloyd.in');reset(f);
assign(g,'royfloyd.out');rewrite(g);
read(f,n);
for i:=1 to n do
for j:=1 to n do
read(f,a[i,j]);
readln(f);
for i:=1 to n do
    for j:=1 to n do
        for k:=1 to n do
if (i<>j) and (a[i,k]<>0) and (a[k,j]<>0) then
if (a[i,k]+a[k,j]<a[i,j])or (a[i,j]=0) then a[i,j]:=a[i,k]+a[k,j];
for i:=1 to n do begin
for j:=1 to n do
write(g,a[i,j],' ');
writeln(g);
end;
close(f);
close(g);
end.