Cod sursa(job #701098)

Utilizator IoanaDanielaRomcea Ioana Daniela IoanaDaniela Data 1 martie 2012 13:34:59
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.61 kb
const inf=maxint;
var a:array[1..100,1..100] of integer;
    n,i,j,k:integer;
    f,g:text;
begin
 assign(f,'royfloyd.in');reset(f);
 assign(g,'royfloyd.out');rewrite(g);
 readln(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]:=inf;
   end;
 for k:=1 to n do
  for i:=1 to n do
   for j:=1 to n do
    if a[i,k]+a[k,j]<a[i,j] then a[i,j]:=a[i,k]+a[k,j];
  for i:=1 to n do
   begin
    for j:=1 to n do
     if a[i,j]=inf then write(g,0,' ')
                   else write(g,a[i,j],' ');
    writeln(g);
   end;
close(f);
close(g);
end.