Pagini recente » Cod sursa (job #1465279) | Cod sursa (job #3206033) | Cod sursa (job #3130145) | Cod sursa (job #1024897) | Cod sursa (job #1702103)
var n:byte;
a:array [1..100,1..100] of integer;
procedure lire;
var i,j:byte;
begin
assign(input,'royfloyd.in');
reset(input);
read(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
end;
procedure ecrire;
var i,j:byte;
begin
assign(output,'royfloyd.out');
rewrite(output);
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end;
procedure calc;
var i,j,k:byte;
begin
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 ((a[i,j]>(a[i,k]+a[k,j])) or ((a[i,j]=0) and (i<>j))) then a[i,j] := a[i,k] + a[k,j];
end;
begin
lire;
calc;
ecrire;
end.