Cod sursa(job #192934)

Utilizator Vlad2008Vlad VLD Vlad2008 Data 1 iunie 2008 14:28:56
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.65 kb
program Floyd;
  var A : array [1..100,1..100] of integer;
      i,j,k,m,n : integer;
      f : text;
  begin
  assign(f,'royfloyd.in');
  reset(f);
  readln(f,n);
  for i := 1 to n do begin
  for j := 1 to n do
  read(f,A[i,j]);
  readln(f);
  end;
  close(f);
  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 (i<>j) then
                                            if (A[i,j]>A[i,k]+A[k,j]) or (A[i,j]=0) then A[i,j] := A[i,k]+A[k,j];
  assign(f,'royfloyd.out');
  rewrite(f);
  for i := 1 to n do begin
  for j := 1 to n do
  write(f,A[i,j],' ');
  writeln(f);
  end;
  close(f);
  end.