Cod sursa(job #552854)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 12 martie 2011 23:06:12
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.54 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 read (f, v[i, j]);

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]) and (v[i, k]<>0) and (v[k, j]<>0) then v[i, j]:=v[i, k]+v[k, j];

for i := 1 to n do
  begin
  for j := 1 to n do write (g, v[i, j], ' ');
  writeln(g);
  end;

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