Контест Middle Связные списки обновлено
Текстовый редактор с курсором
Условие
Простой редактор хранит строку и курсор, который стоит между символами (или в начале, или в конце). Изначально курсор в конце строки. Команды:
L: сдвинуть курсор на символ влево (в начале строки ничего не происходит);R: сдвинуть вправо (в конце ничего не происходит);D: удалить символ слева от курсора (если его нет, ничего не происходит);P c: вставить символcслева от курсора, курсор остаётся справа от вставленного.
Ввод: в первой строке исходная строка из строчных латинских букв длиной до 5000; пустая строка записана как -. Во второй q (1 ≤ q ≤ 10⁴), далее q команд.
Вывод: итоговая строка; если она пустая, выведите -.
Пример 1
Ввод:
abc
5
L
P x
L
L
D
Вывод:
bxc
Пример 2
Ввод:
-
3
D
P a
L
Вывод:
a
Как подойти
Подсказки: 2
- Вставка в середину строки стоит O(длины): нужна другая структура.
- Разделите текст курсором на два стека.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.