Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3477777
А
Аноним
22 октября 2025 02:07 · публичный вопрос
А
Аноним

Задача 1 Есть строка, в которой записана последовательность из чисел 1 и 11. Получите и выведите упорядоченный массив из чисел этой последовательности. Ввод Вывод 1 11 1 11 1 1 1…

Запрос пользователя

Задача 1 Есть строка, в которой записана последовательность из чисел 1 и 11. Получите и выведите упорядоченный массив из чисел этой последовательности. Ввод Вывод 1 11 1 11 1 1 1 1 11 11

Ответ нейросети
22 октября 2025 02:07

Задача понятна: дано перечисление чисел 1 и 11. Нужно вывести упорядоченный по возрастанию массив этих же чисел. Так как возможны только два разных значения, удобнее посчитать их количество и вывести в нужном порядке: сначала все 1, затем все 11.

Пошаговое решение:

  1. Разделить входную строку на элементы по пробелам.
  2. Подсчитать сколько встретилось чисел 1 и сколько 11.
  3. Вывести сначала столько единиц, сколько их нашлось, потом столько двоек-одинаковых 11.
  4. Соединить числа пробелами в одну строку.

Пример:

  • Ввод: 1 11 1 11 1
  • Подсчет: c1 = 3, c11 = 2
  • Вывод: 1 1 1 11 11

Сложность:

  • Временная: O(n), где n — число элементов во входной строке.
  • Память: O(1) дополнительно (не считая входные данные и итоговую строку).

Простой пример реализации на Python (помогает понять идею, можно адаптировать под другой язык):

  • Вариант 1: читает всю строку из входа def sort_sequence(s): tokens = s.strip().split() c1 = 0 c11 = 0 for t in tokens: if t == '1': c1 += 1 elif t == '11': c11 += 1 else: # здесь можно обрабатывать ошибку, но согласно условию ведомо, что есть только 1 и 11 pass return ' '.join(['1'] * c1 + ['11'] * c11)

Пример использования

inp = "1 11 1 11 1" print(sort_sequence(inp)) # вывод: 1 1 1 11 11

  • Вариант 2: компактно через счётчик и чтение из stdin (если задача приходит как файл или через поток): import sys

def main(): s = sys.stdin.read().strip() tokens = s.split() c1 = tokens.count('1') c11 = tokens.count('11') out = ['1'] * c1 + ['11'] * c11 print(' '.join(out))

if name == "main": main()

Если у вас другие требования к формату ввода/вывода (например, нужно писать в одну строку без лишних пробелов, или использовать другой язык), скажите — адаптирую под них.