Pagini recente » Cod sursa (job #1253132) | Cod sursa (job #2817188) | Cod sursa (job #1039700) | Cod sursa (job #3140199) | Cod sursa (job #841788)
Cod sursa(job #841788)
program roy_floyd;
var f:text;
n,i,j,k:byte;
a:array [1..100,1..100] of 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 (a[i,j]=0)and(a[i,k]<>0)and(a[k,j]<>0) then a[i,j]:=a[i,k]+a[k,j]
else if (a[i,j]<>0)and(a[i,k]<>0)and(a[k,j]<>0)then
if a[i,j]> a[i,k]+a[k,j] then a[i,j]:=a[i,k]+a[k,j];
for i:=1 to n do a[i,i]:=0;
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.