Cod sursa(job #162811)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 20 martie 2008 19:03:45
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.53 kb
var a:array[1..100,1..100] of longint;
    f,g:text;
    i,j,k,n:longint;
begin
 assign(f,'royfloyd.in'); reset(f);
 assign(g,'royfloyd.out'); rewrite(g);
 read(f,n);
 for i:=1 to n do
  for j:=1 to n do
   read(f,a[i,j]);
 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,j]>a[i,k]+a[k,j])) then
     a[i,j]:=a[i,k]+a[k,j];
 for i:=1 to n do begin
  for j:=1 to n-1 do
   write(g,a[i,j],' ');
  writeln(g,a[i,n]);
 end;
 close(f); close(g);
end.