Cod sursa(job #376985)

Utilizator arnold23Arnold Tempfli arnold23 Data 23 decembrie 2009 00:03:53
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.57 kb
var f:text;
    a:array[1..100,1..100] of longint;
    i,j,k,n:longint;

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 i<>j then
     if (a[i,k]<>0) and (a[k,j]<>0) 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.