Cod sursa(job #1131193)

Utilizator azkabancont-vechi azkaban Data 28 februarie 2014 18:23:14
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.77 kb
Program royfloyd;
const INF = 999999999;
var n,i,j,k : longint;
    D : array [1..1000,1..1000] of longint;
begin
  assign(input,'royfloyd.in'); reset(input);
  assign(output,'royfloyd.out'); rewrite(output);
  readln(n);
  for i:=1 to n do
     for j:=1 to n do begin read(D[i,j]);
                             if D[i,j]=0 then D[i,j]:=INF;
                      end;

  for k:=1 to n do
     for i:=1 to n do
        for j:=1 to n do
           if ( D[i,j]>D[i,k]+D[k,j] ) and (i<>j) then
            D[i,j]:=D[i,k]+D[k,j];
   for i:=1 to n do
      for j:=1 to n do if D[i,j]=INF then D[i,j]:=0;
   for i:=1 to n do begin
     for j:=1 to n do write(D[i,j],' ');
                          writeln;
                    end;
  close(input);
  close(output);
end.