24.04K

sequence_processing

1.

1. Удаление самых длинных групп
ТМП. Самостоятельная работа на C++17
Условие
Группа — максимальный непрерывный фрагмент
одинаковых чисел. Удалите все группы наибольшей
длины, если эта длина больше 1.
Если все группы одиночные, оставьте вектор
без изменений. Сохраняйте порядок элементов.
Группы определяйте по исходному вектору.
Повторное удаление после сближения не выполняйте.
Пример ввода
7
2112332
Пример вывода
3
222
Ввод и ограничения
n (0 ≤ n ≤ 1000), затем n целых чисел
от −1000 до 1000. Используйте vector<int>.
Обе группы длиной 2 удалены.
Три оставшиеся двойки сохраняются.
Вывод
Размер результата, на следующей строке элементы
через пробел. Для пустого результата: 0 и EMPTY.
Сдать: программу, 3 собственных теста с ответами (один граничный) и краткое объяснение.

2.

2. Очистка текстовой строки
ТМП. Самостоятельная работа на C++17
Условие
Удалите слова, содержащие не менее двух цифр.
Слово — максимальная последовательность
символов без пробелов.
Повторяющиеся цифры считайте отдельно:
слово a11 удаляется. Сохраните порядок, регистр
и повторы оставшихся слов. Разделите их одним
пробелом, уберите пробелы по краям.
Пример ввода
room12 floor3 A1B2 exit
Пример вывода
2
floor3 exit
Ввод и ограничения
Одна строка длиной 0–1000 символов: A–Z, a–z,
0–9 и обычные пробелы. Используйте string.
Пустая строка и строка из пробелов допустимы.
room12 и A1B2 удаляются.
У floor3 только одна цифра.
Вывод
Количество слов, на следующей строке текст.
Если слов не осталось: 0 и EMPTY.
Сдать: программу, 3 собственных теста с ответами (один граничный) и краткое объяснение.

3.

3. Редактор последовательности
ТМП. Самостоятельная работа на C++17
Команды редактора
Пример ввода
ADD x Добавить x в конец.
DROP x Удалить последнее вхождение x.
Если x отсутствует, ничего не менять.
COPY l r p Скопировать [l, r) перед позицией p.
4
1232
3
COPY 1 3 4
DROP 2
ADD 8
Индексы с нуля. COPY использует состояние
до команды и сохраняет исходный фрагмент.
p может быть внутри фрагмента или в конце вектора.
При l = r состояние не меняется.
Ввод и ограничения
n (0–100), затем n чисел, q (0–100) и q команд.
Значения от −1000 до 1000. Используйте vector<int>.
0 ≤ l ≤ r ≤ размер, 0 ≤ p ≤ размер перед COPY.
После любой команды размер не больше 10 000.
Пример вывода
6
123238
Вывод: итоговый размер, затем элементы через пробел
на новой строке. Для пустого вектора: 0 и EMPTY.
Сдать: программу, 3 собственных теста с ответами (один граничный) и краткое объяснение.
English     Русский Правила