Размещено 4 года назад по предмету
Информатика
от XletstraikcX
СРОЧНО Задача С++
Книжная полка и динамические списки
Денис раскладывает свои книги на полку. Если на полке нет ни одной книги, то он просто ставит её, если есть, то ставит либо справа, либо слева от уже расставленных книг. Забирает книги он так же, то есть снимает только с правого или левого края. По заданной информации требуется смоделировать действия Дениса и вывести номера книг, которые он будет снимать.
Внимание! При решении задачи нельзя
использовать:
классы библиотеки STL
массивы
Формат входных данных
Входные данные содержат информацию об операциях, которые выполнил Денис, и заканчиваются символом EOF. Информация о каждой операции содержится в отдельной строке.
Каждая операция постановки книги на полку описывается парой чисел. Первое из них (1 или 2) показывает, книга ставится с левого края или с правого, соответственно. Второе целое число (от 0 до 109) обозначает номер книги. Номера книг могут повторяться.
Операции снятия книги с полки описывается одним числом. Число 3 означает, что книга снимается с левого края, 4 - с правого. Гарантируется, что для каждой операции снятия книги на полке будет хотя бы одна книга.
Формат результата
Для каждой операции снятия книги с полки вывести номер снимаемой книги.
Примеры
Входные данные
1 1
2 2
1 3
2 7
2 9
3
4
3
3
4
Результат работы
3
9
1
2
7