
Кириллу на день рождения подарили набор цифр для магнитной доски. Очень скоро родители обнаружили,
что мальчик составляет из них числа, в которых никакие соседние цифры не являются одинаковыми. "Это особые числа, я сам их придумал!" - торжественно заявил мальчик. Какое наибольшее число Кирилл сможет составить? Формат входных данных: Единственная строка входа данных содержит 10 неотрицательных целых чисел d(0<=d<=100) - количество различных магнитных цифр от 0 до 9, записанных через пробелю Гарантируется, что из данного набора можно составить хотя бы 1 особое число. Формат вывода данных: Выведите 1 наибольшее натуральное особое число, которое можно составить из данного набора. Пример: 2 3 0 0 0 0 0 0 0 0 --> 10101

Ответы на вопрос

Ну крч, это не та задача, но D, с гаражами, я решил, так что лови ее)00))0)))) Думаю, пригодится)
(Паскаль)
program E;
var n,k,i,j,c:integer;
a: array[1..1000000] of integer;
begin
readln(n,k);
for i:=1 to k do
read(a[i]);
c:=n;
for i:=1 to n do begin
for j:=1 to k do begin
if (a[i] = a[j]+1) then c:=c-1;
writeln(c);
end.



сразу говорю, это неполное решение и за него дают не 100 а лишь 25 баллов, да мало, но лучше чем ничего, на крайний случай если так и не найдешь толковое решение
from queue import PriorityQueue
d = {k: x for k, x in enumerate(map(int, input().split())) if x != 0}
q = PriorityQueue()
for x, k in d.items():
q.put((-k, x))
res = []
p_k, p_x = q.get()
res.append(p_x)
while q.qsize() != 0:
k, x = q.get()
res.append(x)
if p_k < -1:
q.put((p_k + 1, p_x))
p_k, p_x = (k, x)
print(*res[::-1], sep='')



Для того чтобы найти наибольшее натуральное особое число, которое можно составить из данного набора, нужно учесть следующее:
1. Особое число - это такое число, в котором никакие соседние цифры не являются одинаковыми.
2. Мы знаем, что набор состоит из десяти различных магнитных цифр от 0 до 9.
3. Мы хотим построить наибольшее такое число.
Давайте рассмотрим оптимальный способ построения такого числа. Сначала выберем наибольшую доступную цифру (9) и поместим её в начало числа. Затем мы будем поочередно выбирать оставшиеся цифры из набора, так чтобы они не совпадали с предыдущей выбранной цифрой.
1. Мы уже выбрали 9 и поставили его в начало числа: 9 _ _ _ _ _ _ _ _ _ 2. Теперь выберем следующую наибольшую доступную цифру, которая не совпадает с 9. Это 8: 9 8 _ _ _ _ _ _ _ _ 3. Затем выберем следующую наибольшую доступную цифру, которая не совпадает ни с 9, ни с 8. Это 7: 9 8 7 _ _ _ _ _ _ _ 4. Продолжим этот процесс, пока не заполним все позиции: 9 8 7 6 5 4 3 2 1 0
Таким образом, наибольшее натуральное особое число, которое можно составить из данного набора цифр, равно 9876543210.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili