Pagini recente » Borderou de evaluare (job #1760520) | Cod sursa (job #3202179) | Cod sursa (job #3180283) | Cod sursa (job #1436230) | Cod sursa (job #476296)
Cod sursa(job #476296)
program royfloyd;
const max=100;
var i,j,k,n:integer;
a:array[1..max,1..max] of integer;
fin,fout:text;
begin
assign(fin,'royfloyd.in');
reset(fin);
assign(fout,'royfloyd.out');
rewrite(fout);
readln(fin,n);
for i:=1 to n do
begin
for j:=1 to n do
read(fin,a[i,j]);
readln(fin);
end;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (((i<>j) AND (a[i,j]=0) AND (a[i,k]*a[k,j]>0))
OR
((a[i,k]*a[k,j]>0) AND (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
begin
for j:=1 to n do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fin); close(fout);
end.