Cod sursa(job #152875)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 9 martie 2008 21:12:20
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator fpc Status done
Runda Arhiva educationala Marime 0.52 kb
program Roy_Floyd;
var f:text;
    a:array[1..101,1..101]of Longint;
    n,i,j,k:integer;
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);
assign(f,'royfloyd.out');rewrite(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(a[i,j]>a[i,k]+a[k,j]))or((i<>j)and(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(f,a[i,j],' ');
 writeln(f);
 end;
close(f);
end.