printРабочее место участника

printЗадачи

1025. Переключение между окнами

Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

9:35
Руководителю команды разработчиков нужен идентификационный номер для нового работника. Сказал, что ему нужно заполнить форму J-19R=9C9\\DARR\K1. Говорит, что никогда не слышал о такой форме. Сказал ему, что она находится в базе данных СПЕЦИАЛЬНЫХ ФОРМ. Говорит, что никогда не слышал о такой базе данных. Переключил его на туалет для уборщиков в подвале.

10:07
Пришел уборщик, говорит, что в подвальном туалете какие-то странные звонки. Решил научить его переключать звонки. Сразу же и научил. Оставил его следить за звонками, пока схожу на перекур.

13:00
Вернулся с перекура. Уборщик говорит, что телефон звонил не переставая, так что он все звонки переключал на кафетерий.
Поблагодарил Васю за прекрасную работу. Решил как-нибудь показать ему, как администрировать корпоративную сеть. Черт, он мне нравится!

13:20
Позвонила тетя Маша из кафетерия. Говорит, что ей звонят и спрашивают что-то то ли про "ошибки загрузки", то ли про "загрузки ошибки", она точно не расслышала, так как у нее кофеварка включена. Ответил ей, что это, наверное, "Прошитые Закуски". Может, это поставщик продуктов предлагает ей новый товар в кафетерий? Она задумалась и повесила трубку.

14:49
Опять пришел уборщик. Хочет еще чему-нибудь научиться. Похоже, на сегодня я уже свое отработал.
Когда пользователь работает в операционной системе Windows, у него часто запущено несколько приложений. Каждое из приложений работает в отдельном окне. Для переключения между окнами используется комбинация клавиш Alt+Tab. Эта комбинация делает активным окно, в котором пользователь работал перед тем, как перейти в текущее активное окно.
Чтобы переключиться в другое окно, можно нажать клавишу Alt и затем, не отпуская ее, несколько раз нажать клавишу Tab. Чтобы понять, какое окно станет активным после этого, воспользуемся следующей моделью. Пусть запущено `n` приложений. Приложения в операционной системе организованы в виде списка и упорядочены по убыванию времени последней активности. То есть приложение, окно которого является активным в настоящий момент – первое в списке приложение, окно которого было активно перед этим – второе, и т. д.
Если нажать клавишу Alt и затем, не отпуская ее, нажать клавишу Tab `k` раз, то активным станет окно приложения, которое находится на `(k\ mod\ n)\ +\ 1`-м месте в списке. Здесь `a\ mod\ b` означает остаток от деления `a` на `b`. Иными словами, операционная система рассматривает список как циклический, переходя после последнего элемента списка к первому.
При запуске нового приложения оно добавляется в начало списка.
Задана последовательность действий пользователя, где каждое действие – либо запуск приложения, либо переключение между окнами. Выведите в выходной файл, в каком порядке пользователь работал с приложениями.
Ввод
Первая строка входного файла содержит целое число `n` – количество действий пользователя. Следующие `n` строк содержат описание действий пользователя. Запуск приложения описывается строкой "Run [tt]<имя приложения>". Здесь <имя приложения> - строка из не более чем 100 латинских букв, цифр и пробелов. Она отделена от слова "[tt]Run" ровно одним пробелом. Все имена приложений различны. Большие и маленькие буквы считаются различными. Переключение между приложениями описывается строкой "Alt+Tab+...+Tab", здесь подстрока "+Tab" повторена в точности столько раз, сколько раз пользователь нажал клавишу Tab, не отпуская клавишу Alt. Это количество не превышает 100. Первая команда во входном файле – всегда команда "Run".
Вывод
Выведите в выходной файл `n` строк – последовательность имен приложений, с которыми работал пользователь в порядке, в котором их окна становились активными.
Ограничения
`1\ ≤\ n\ ≤\ 1000`

Пример ввода

6
Run Mozilla Firefox
Run Free Pascal
Alt+Tab
Run Miranda IM
Alt+Tab+Tab
Alt+Tab+Tab+Tab

Пример вывода

Mozilla Firefox
Free Pascal
Mozilla Firefox
Miranda IM
Free Pascal
Free Pascal
Источник: Седьмая Всероссийская Командная олимпиада школьников по программированию
loading