Cod sursa(job #741672)

Utilizator RadioactivMihai Preguza Radioactiv Data 26 aprilie 2012 18:26:20
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
var t:array[1..100,1..100] of integer;
    i,j,k,n:integer;

function min(a,b:integer):integer;
begin
if a>b then min:=b else min:=a;
end;

BEGIN
  assign(input,'royfloyd.in');
  reset(input);
  readln(n);
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          read(t[i,j]);
          if t[i,j]=0 then t[i,j]:=2000;
        end;
      readln;
    end;
  close(input);
  for k:=1 to n do
    for i:=1 to n do
      for j:=1 to n do
        t[i,j]:=min(t[i,j],t[i,k]+t[k,j]);
  for i:=1 to n do
  t[i,i]:=0;
  assign(output,'royfloyd.out');
  rewrite(output);
  for i:=1 to n do
    begin
      for j:=1 to n do
        write(t[i,j],' ');
      writeln;
    end;
  close(output);
END.