Cod sursa(job #226934)

Utilizator johnyJohny Deep johny Data 3 decembrie 2008 09:27:37
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
program drumuri;
var A: array[1..100,1..100] of longint;
n: longint;

procedure cit;
var i,j: longint;
begin
  readln(n);
  for i:=1 to n do
   for j:=1 to n do
    read(A[i,j]);
end;

procedure royf;
var k,i,j: longint;
begin
  for k:=1 to n do
   for i:=1 to n do
    for j:=1 to n do
    if A[i,j]>A[i,k]+A[k,j] then
       A[i,j]:=A[i,k]+A[k,j];
end;

procedure sol;
var i,j: longint;
begin
  for i:=1 to n do
  begin
    for j:=1 to n do
     write(A[i,j],' ');
    writeln;
  end;
end;

begin
  assign(input,'royfloyd.in');
  reset(input);
  assign(output,'royfloyd.out');
  rewrite(output);
  cit;
  royf;
  sol;
  close(input);
  close(output)
end.