Pagini recente » Cod sursa (job #2219140) | Cod sursa (job #2617930) | Cod sursa (job #2391303) | Cod sursa (job #2175354) | Cod sursa (job #1411181)
program floyd_warshall; //programare dinamica
var a:array[1..100,1..100] of longint;
f,g:text;
i,j,k,n:integer;
BEGIN
assign(f,'royfloyd.in');reset(f);
readln(f,n);
for i:=1 to n do
for j:=1 to n do
read(f,a[i,j]);
close(f);
for k:=1 to n do //nod intermediar
for i:=1 to n do //nod de pornire
for j:=1 to n do //nod de finisare
if ((a[i,j]>a[i,k]+a[k,j]) or (a[i,j]=0)) and (a[i,k]<>0) and (a[k,j]<>0) and (i<>j) then a[i,j]:=a[i,k]+a[k,j];
assign(g,'royfloyd.out');rewrite(g);
for i:=1 to n do
begin
for j:=1 to n do
write(g,a[i,j],' ');
writeln(g);
end;
close(g);
END.