Cod sursa(job #2900518)

Utilizator stalecuAlecu Stefan-Iulian stalecu Data 10 mai 2022 23:56:28
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
program royfloyd;

{$MODE objfpc}{$H+}{$J-}
uses sysutils;

const
  C_IN_FNAME = 'royfloyd.in';
  C_OUT_FNAME = 'royfloyd.out';
var
  fin, fout: text;
  graph: array[1..100, 1..100] of word;
  n, i, j, k: integer;
begin
  AssignFile(fin, C_IN_FNAME); Reset(fin);
  Read(fin, n);
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      Read(fin, graph[i,j]);
    end;
  end;
  Close(fin);

  for k := 1 to n do
    for i := 1 to n do
      for j := 1 to n do
        if graph[i,j] > graph[i,k] + graph[k,j] then
          graph[i,j] := graph[i,k] + graph[k,j];


  AssignFile(fout, C_OUT_FNAME); Rewrite(fout);
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      Write(fout, graph[i,j], ' ');
    end;
    Writeln(fout, '');
  end;
  Close(fout);
end.