Cod sursa(job #552871)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 13 martie 2011 00:01:37
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
var v:array [1..100, 1..100] of integer;
    i, j, n, k:integer;
    f, g:text;

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
    begin
    read (f, v[i, j]);
    if v[i, j] = 0 then v[i, j]:=1100;
    end;

for k := 1 to n do
  for i := 1 to n do
    for j := 1 to n do
      if (v[i,k]+v[k, j]<v[i, j]) then v[i, j]:=v[i, k]+v[k, j];

for i := 1 to n do
  begin
  for j := 1 to n do
    begin
    if v[i, j]<> 1100   then write (g, v[i, j], ' ')
                        else write (g, '0 ');
    end;
  writeln(g);
  end;

close (f); close (g);
end.