Cod sursa(job #1362172)

Utilizator mirelabocsabocsa mirela mirelabocsa Data 26 februarie 2015 10:49:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
program mire;
var a:array of array of int64;
    n:integer;
    f,g:text;
procedure citire;
var i,j:integer;
begin
  assign(f,'royfloyd.in'); reset(f);
    readln(f,n);
    setlength(a,n+1,n+1);
    for i:=1 to n do
      for j:=1 to n do
       begin
         read(f,a[i,j]);
         if (i<>j) and (a[i,j]=0)  then
            a[i,j]:=maxlongint;
       end;
  close(f);
end;
procedure roy;
var i,j,k:integer;
begin
  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];
end;
procedure afis;
var i,j:integer;
begin
  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;
begin
citire;
roy;
afis;
end.