Var a,b,c:array[1..20] of integer; ar:ty; n,m,k,i:integer;
procedure quicksort(var a:ty; Lo,Hi: integer);
procedure sort(l,r: integer); var i,j,x,y: integer; begin i:=l; j:=r; x:=a[random(r-l+1)+l]; repeat while a[i]<x do i:=i+1; while x<a[j] do j:=j-1; if i<=j then begin if a[i] > a[j] then begin y:=a[i]; a[i]:=a[j]; a[j]:=y; end; i:=i+1; j:=j-1; end; until i>=j; if l<j then sort(l,j); if i<r then sort(i,r); end;
begin; randomize; sort(Lo,Hi); end;
begin readln(n); for i:=1 to n do begin readln(a[i]); ar[i]:=a[i]; end; readln(m); for i:=1 to m do begin readln(b[i]); ar[i+n]:=b[i]; end; readln(k); for i:=1 to k do begin readln(c[i]); ar[i+n+m]:=c[i]; end; quicksort(ar,1,n+m+k); writeln('Final array:'); for i:=1 to n+m+k do write(ar[i]:4); end.
Пример ввода: 3 1 2 3 3 1 2 3 3 1 2 3 Пример вывода: Final array: 1 1 1 2 2 2 3 3 3
Type
ty=array[1..60] of integer;
Var
a,b,c:array[1..20] of integer;
ar:ty;
n,m,k,i:integer;
procedure quicksort(var a:ty; Lo,Hi: integer);
procedure sort(l,r: integer);
var
i,j,x,y: integer;
begin
i:=l;
j:=r;
x:=a[random(r-l+1)+l];
repeat
while a[i]<x do
i:=i+1;
while x<a[j] do
j:=j-1;
if i<=j then
begin
if a[i] > a[j] then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
end;
i:=i+1;
j:=j-1;
end;
until i>=j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin;
randomize;
sort(Lo,Hi);
end;
begin
readln(n);
for i:=1 to n do
begin
readln(a[i]);
ar[i]:=a[i];
end;
readln(m);
for i:=1 to m do
begin
readln(b[i]);
ar[i+n]:=b[i];
end;
readln(k);
for i:=1 to k do
begin
readln(c[i]);
ar[i+n+m]:=c[i];
end;
quicksort(ar,1,n+m+k);
writeln('Final array:');
for i:=1 to n+m+k do
write(ar[i]:4);
end.
Пример ввода:
3
1
2
3
3
1
2
3
3
1
2
3
Пример вывода:
Final array:
1 1 1 2 2 2 3 3 3
1) A - B - C - E - 6 км.
2) A - B - C - D - E - 9 км.
3) A - B - C - D - E - 10 км.
Объяснение:
1. Возможные пути:
A - B - C - E: длина маршрута 6 км.
A - B - D - E: 7 км.
A - B - E: 8 км.
Самый короткий путь - A - B - C - E.
Длина маршрута A - B - C - E - 6 км.
2. Возможные пути:
A - B - C - D - E: длина маршрута 13 км.
A - B - D - E: 10 км.
A - C - D - E: 10 км.
A - C - B - D - E: 9 км.
Самый короткий путь - A - C - B - D - E.
Длина маршрута A - C - B - D - E - 9 км.
3. Возможные пути:
A - B - C - D - E: длина маршрута 10 км.
A - B - E: 11 км.
A - C - D - E: 12 км.
Самый короткий путь - A - B - C - D - E.
Длина маршрута A - B - C - D - E - 10 км.