Cod sursa(job #1711686)

Utilizator medicinedoctoralexandru medicinedoctor Data 31 mai 2016 22:26:09
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
var n,i,j,k:byte;
a:array [1..100,1..100] of integer;

procedure lire;
var i,j:byte;
begin
  assign(input,'royfloyd.in');
  reset(input);
  readln(n);
  for i:=1 to n do
    for j:=1 to n do
      read(a[i,j]);
  close(input);
end;

procedure ecrire;
var i,j:byte;
begin
  assign(output,'royfloyd.out');
  rewrite(output);
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(a[i,j],' ');
    writeln;
  end;
  close(output);
end;

begin
  lire;
  for k:=1 to n do
    for i:=1 to n do
      for j:=1 to n do
        if ((a[i,k]<>0) and (a[k,j]<>0) and ((a[i,j] > (a[i,k] + a[k,j])) or (a[i,j]=0)) and (i <> j)) then a[i,j] := a[i,k] + a[k,j];
  ecrire;
end.