Очередь

Очередь (Queue) является одной из основных структур данных во многих алгоритмах. Она очень похожа на реальную очередь. Первый элемент, добавленный в очередь, будет обслужен и удалён первым.

Представьте себе очередь муравьёв, стоящих за кофе. Первый муравей в очереди получит кофе и выйдет из неё, затем следующий получит кофе и тоже покинет очередь, и так будет продолжаться до тех пор, пока очередь не опустеет и не останется ни одного муравья в ожидании кофе.

martin97_A_line_of_ants_waiting_in_a_queue_in_front_of_an_ant_c_63c6770d-0f77-40ba-b91b-582840aae592.png

Объявление и использование очереди в большинстве языков программирования упрощено – многие универсальные языки (например, Python, C++, Java и т.д.) уже реализовали структуру данных «очередь» для удобства. Мы можем реализовать очередь и самостоятельно, используя связный список. Может, вы придумаете, как это сделать? 🤔

from queue import Queue

q = Queue()    # Создаем новую очередь
q.put(1)       # Добавляем 1 в начало очереди
q.put(2)       # Затем добавляем 2
q.put(3)       # Добавляем 3 после 2

# Извлекаем элементы из очереди с помощью get()
print(q.get()) # выводит 1
print(q.get()) # выводит 2
print(q.get()) # выводит 3

Задача: Симуляция очереди

Вам нужно реализовать систему, которая будет учитывать покупателей в магазине. Она должна уметь добавлять клиента в очередь и убирать первого клиента из очереди, когда он обслужен. Каждый раз, когда вы убираете клиента, необходимо выводить его имя.

Входные данные

Первая строка входных данных содержит одно целое число n (1 ≤ n ≤ 100 000).

Следующие n строк содержат операции — либо add, либо pop:

  • Операция add сопровождается именем, и вам нужно добавить клиента в очередь.

  • Операция pop указывается без имени.

Гарантируется, что перед каждой операцией pop в очереди уже есть хотя бы один человек, поэтому операции будут корректными.

Имена гарантированно не превышают 20 символов.

Выходные данные

Для каждой операции pop программа должна вывести имя клиента, который находится в начале очереди.

Примеры

Input

Output

9 add Steven add Sam pop add Sergio add Don pop add John pop pop

Steven Sam Sergio Don

4 add John Ford add Tom Ford pop pop

John Ford Tom Ford

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue