Pagini recente » Cod sursa (job #2631591) | Cod sursa (job #881570) | Cod sursa (job #1630041) | Cod sursa (job #3179819) | Cod sursa (job #146233)
Cod sursa(job #146233)
var m:array[1..100,1..100]of integer;
n,k,i,j:longint;
function min(a,b:longint):longint;
begin
if(a<b)then
min:=a
else
min:=b;
end;
begin
assign(input,'royfloyd.in');
reset(input);
read(n);
for i:=1 to n do
for j:=1 to n do
read(m[i,j]);
close(input);
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (m[i,k]<>0) and (m[k,j]<>0) and (i<>j) then
if m[i,j]=0 then
m[i,j]:=m[i,k]+m[k,j]
else
m[i,j]:=min(m[i,j],m[i,k]+m[k,j]);
assign(output,'royfloyd.out');
rewrite(output);
for i:=1 to n do
begin
for j:=1 to n do
write(m[i,j],' ');
writeln;
end;
close(output);
end.