Cod sursa(job #590657)

Utilizator RainDropsMDMinzelevschi Igori RainDropsMD Data 19 mai 2011 08:30:27
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
Uses crt;

var a:array[1..100,1..100] of word;
    n:byte;
    f:text;

Procedure citire;
 var i,j:byte;
  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);
  end;
  
Procedure Scrie;
 var i,j:byte;
  begin
   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;
  
Procedure royfloyd;
 var i,j,k:byte;
  begin
   for k:=1 to n do
    for i:=1 to n do
     for j:=1 to n do
      if (i<>j) and (a[i,k] > 0) and (a[k,j]>0) and ((a[i,j] = 0) or (a[i,k] + a[k,j] < a[i,j])) then
          a[i,j]:=a[i,k] + a[k,j];
  end;

begin
 Citire;
 royfloyd;
 Scrie;
end.