Cod sursa(job #1131201)

Utilizator azkabancont-vechi azkaban Data 28 februarie 2014 18:26:18
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 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 begin
     for j:=1 to n do
             if D[i,j]=INF then write(0,' ') else write(D[i,j],' ');
                          writeln;
                    end;
  close(input);
  close(output);
end.