Cod sursa(job #377655)

Utilizator yobunSasaujan Marian yobun Data 25 decembrie 2009 18:49:16
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.56 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.