Cod sursa(job #146273)

Utilizator hitmannCiocas Radu hitmann Data 1 martie 2008 15:03:04
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.58 kb
program floyd_warshall;
var a:array[1..100,1..100]of longint;
    n,i,j,k:integer;
    g:text;
procedure citire;
var f:text;
begin assign(f,'royfloyd.in'); reset(f);
read(f,n);
for i:=1 to n do
 for j:=1 to n do
 begin
  read(f,a[i,j]);
  if (a[i,j]=0)and(i<>j) then a[i,j]:=maxint;
close(f);
end;
begin {pp}
citire;
for k:=1 to n do
 for i:=1 to n do
  for j:=1 to n do
   if a[i,j]>a[i,k]+a[k,j] then a[i,j]:=a[i,k]+a[k,j];
assign(g,'royfloyd.out'); rewrite(g);
for i:=1 to n do
  begin
  for j:=1 to n do write(g,a[i,j],' ');
  writeln(g);
  end;
close(g);
end.