Pagini recente » Cod sursa (job #2699361) | Borderou de evaluare (job #702965) | Cod sursa (job #2662481) | Cod sursa (job #2594507) | Cod sursa (job #378937)
Cod sursa(job #378937)
{algoritmul roy-floyd}
const inf=maxint div 2;
var c:array[1..100,1..100] of integer;
n:byte;
procedure citire;
var i,j:byte;
begin
assign(input,'royfloyd.in'); reset(input);
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
read(c[i,j]);
if (i<>j) and (c[i,j]=0) then c[i,j]:=inf;
end;
close(input);
end;
procedure royfloyd;
var i,j,k:integer;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if c[i,k]+c[k,j]<c[i,j] then c[i,j]:=c[i,k]+c[k,j];
end;
procedure afisare;
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(c[i,j],' ');
writeln;
end;
close(output);
end;
begin
citire;
royfloyd;
afisare;
end.