Cod sursa(job #1022889)

Utilizator harababurelPuscas Sergiu harababurel Data 6 noiembrie 2013 08:36:20
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
program royFloyd;
var w: array[1..100, 1..100] of longint;
    n, i, j, k, inf: longint;
    f, g: text;

begin
  assign(f, 'royfloyd.in'); reset(f);
  assign(g, 'royfloyd.out'); rewrite(g);

  inf := 100000000;

  read(f, n);
  for i:=1 to n do
    for j:=1 to n do begin
      read(f, w[i][j]);
      if (i <> j) and (w[i][j] = 0) then w[i][j] := inf;
    end;

  for k:=1 to n do
    for i:=1 to n do
      for j:=1 to n do
        if w[i][k] + w[k][j] < w[i][j] then w[i][j] := w[i][k] + w[k][j];

  for i:=1 to n do begin
    for j:=1 to n do begin
      if w[i][j] = inf then w[i][j] := 0;
      write(g, w[i][j], ' ');
    end;
    writeln(g);
  end;

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