Юный художник Вася нарисовал плакат с очень большим числом и решил повесить его на самую длинную стену школы. К сожалению, даже самая длинная стена оказалась недостаточно длинной. Теперь ему нужно выкинуть из числа ровно половину цифр. Вася — максималист, поэтому он хочет, чтобы число, получившееся после всех правок, было как можно больше, но он ни за что не согласится переставлять оставшиеся цифры местами, так как это нарушит цветовой баланс плаката Васе переделать плакат. Например, если первоначально на плакате было написано число 7825, то максимальное число, которое может получить Вася из половины имеющихся цифр, сохраняя их порядок, это 85.
Вам необходимо решить задачу для следующих пяти возможных чисел, записанных на плакате:
43521867
7854635912
78957968765876887695
123456789123456789123456789123456789123456789123456789123456789123456789
987654321087654321076543210654321054321043210321021010
В четвёртом примере на плакате выписаны цифры от 1 до 9, и эта последовательность повторена 8 раз (всего на плакате 72 цифры).
В пятом примере на плакате выписаны цифры по убыванию от 9 до 0, затем от 8 до 0, затем от 7 до 0, затем от 6 до 0, затем от 5 до 0, затем от 4 до 0, затем от 3 до 0, затем от 2 до 0, затем от 1 до 0 (всего 54 цифры).
ответом на эту задачу является пять целых чисел, записанных в пяти отдельных строках, по одному числу в строке. ответы должны быть записаны в том же порядке, в котором они приведены в условии. Если вы не можете найти ответ для какого-то данного числа, напишите в ответе вместо него любое число.
program raf105;
var
a,i,j,s: integer;
f,st: string;
inA,inB: boolean;
begin
readln(a);
readln(f);
i:=1;
while i < length(f)-1 do
begin
st:= f[i] + f[i+1];
inA:= False;
inB:= False;
for j:=1 to length(st)-1 do
begin
if st[j] = 'a' then inA:= True;
if st[j] = 'b' then inB:= True;
end;
if (not inA) or (not inB) then
if st = 'bb' then
f[i+1]:= 'a'
else
f[i+1]:= 'b';
s:= s+1;
i+= 2;
end;
writeln(s);
for i:=1 to length(f)-1 do
write(f[i],' ');
end.
PascalABCBEGIN
readln(a,b,c,d,e);
if {1} a>b then begin x:=a; a:=b; b:=x; end;
if {2} c>d then begin x:=c; c:=d; d:=x; end;
if {3} a>c then begin x:=a; a:=c; c:=x; x:=b; b:=d; d:=x; end;
if {4} c>e then
if {5} b>c then
if {6} b>d then
if {7} a>e then begin x:=e; e:=b; b:=a; a:=x; end
else begin x:=e; e:=b; b:=x; end
else
if {7} a>e then begin x:=e; e:=d; d:=b; b:=a; a:=x; end
else begin x:=e; e:=d; d:=b; b:=x; end
else
if {6} a>e then begin x:=e; e:=d; d:=c; c:=b; b:=a; a:=x; end
else
if {7} b>e then begin x:=e; e:=d; d:=c; c:=b; b:=x; end
else begin x:=e; e:=d; d:=c; c:=x; end
else
if {5} d>e then
if {6} b>e then
if {7} b>d then begin x:=e; e:=b; b:=c; c:=x; end
else begin x:=e; e:=d; d:=b; b:=c; c:=x; end
else
if {7} b>c then begin x:=b; b:=c; c:=x; x:=e; e:=d; d:=x; end
else begin x:=e; e:=d; d:=x; end
else
if {6} b>d then
if {7} b>e then begin x:=b; b:=c; c:=d; d:=e; e:=x; end
else begin x:=b; b:=c; c:=d; d:=x; end
else
if {7} b>c then begin x:=b; b:=c; c:=x; end;
writeln;
writeln(a,' ',b,' ',c,' ',d,' ',e);
END.