Cod sursa(job #201892)

Utilizator RobybrasovRobert Hangu Robybrasov Data 4 august 2008 20:10:32
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
var     a:array[1..101,1..101] of integer;
        n,i,j,k,val:byte;
        f:text;

procedure rf;
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,j]>a[i,k]+a[k,j]) then a[i,j]:=a[i,k]+a[k,j];
end;

begin
  assign(f,'royfloyd.in');
  reset(f);
  readln(f,n);
  for i:=1 to n do
    for j:=1 to n do
      begin
        read(f,a[i,j]);
        if (i<>j) and (a[i,j]=0) then a[i,j]:=maxint;
      end;
  close(f);
  rf;
  assign(f,'royfloyd.out');
  rewrite(f);
  for i:=1 to n do
    begin
      for j:=1 to n do
        if a[i,j]<>maxint then write(f,a[i,j],' ')
                          else write(f,0,' ');
      writeln(f);
    end;
  close(f);
end.