Cod sursa(job #565601)

Utilizator david93Demeny David david93 Data 27 martie 2011 23:07:29
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
uses crt;
type
 kl=array[1..100,1..100] of longint;
var
 x:kl;
 f,g:text;
 a,b,c,d,i,j,m,n,k:longint;
begin
 assign(f,'royfloyd.in');
 reset(f);
 assign(g,'royfloyd.out');
 rewrite(g);
 readln(f,n);
 for i:=1 to n do
  for j:=1 to n do
    read(f,x[i,j]);
 for k:=1 to n do
  begin
   for i:=1 to n do
     begin
      for j:=1 to n do
       if (i<>k)and(j<>k)
        then
          if ((x[i,k]+x[k,j]<x[i,j])and(x[i,k]<>0)and(x[k,j]<>0))or((x[i,j]=0)and(i<>j))
           then
             x[i,j]:=x[i,k]+x[k,j];


     end;
  end;
 for i:=1 to n do
   begin
    for j:=1 to n do
     write(g,x[i,j],' ');
    writeln(g);
   end;
 close(f);
 close(g);
end.