Pagini recente » Cod sursa (job #1507198) | Cod sursa (job #2217127) | Cod sursa (job #49507) | Cod sursa (job #2398865) | Cod sursa (job #789896)
Cod sursa(job #789896)
Program Floyd_Warshall;
type matrice= array[1..101,1..101] of word;
Var cost,dist:matrice;
k,n,i,j:byte;
f:text;
Procedure init;
Begin
for i:=1 to n do
for j:=1 to n do dist[i,j]:=cost[i,j];
end;
Procedure floyd(Var dist:matrice);
Begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (dist[i,k]+dist[k,j]<dist[i,j]) then dist[i,j]:=dist[i,k]+dist[k,j];
end;
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,cost[i,j]);
readln(f);
end;
init; floyd(dist); close(f); assign(f,'royfloyd.out'); rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do write(f,dist[i,j],' ');
writeln(f);
end;
readln;
end.