Cod sursa(job #879920)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 15 februarie 2013 23:10:18
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
program royfloyd;
var f,g:text;
    a:array[1..100,1..100] of longint;
    n,i,j,k:byte;
    bufin,bufout:array[1..65000] of byte;

begin
 assign (f,'royfloyd.in'); reset (f);
 assign (g,'royfloyd.out'); rewrite (g);
 settextbuf (f,bufin); settextbuf (g,bufout);
 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]:=maxint;
  end;
  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];
    for i:=1 to n do
    begin
     for j:=1 to n do
     begin
      if a[i,j]=maxint then
       a[i,j]:=0;
      write (g,a[i,j],' ');
     end;
     writeln (g);
    end;
    close (f); close (G);
end.