Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

I. Ограниченная очередь

Астрологи объявили день очередей ограниченного размера. Тимофею нужно написать класс MyQueueSized, который принимает параметр max_size, означающий максимально допустимое количество элементов в очереди.

Помогите ему —– реализуйте программу, которая будет эмулировать работу такой очереди. Функции, которые надо поддержать, описаны в формате ввода.

Формат ввода

В первой строке записано одно число — количество команд, оно не превосходит 5000. Во второй строке задан максимально допустимый размер очереди, он не превосходит 5000.

Далее идут команды по одной на строке. Команды могут быть следующих видов:

  • push(x) — добавить число x в очередь;
  • pop() — удалить число из очереди и вывести на печать;
  • peek() — напечатать первое число в очереди;
  • size() — вернуть размер очереди;

При превышении допустимого размера очереди нужно вывести «error». При вызове операций pop() или peek() для пустой очереди нужно вывести «None».

Формат вывода

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

Пример 1

Ввод Вывод
8
2
peek
push 5
push 2
peek
size
size
push 1
size
None
5
2
2
error
2




Пример 2

Ввод Вывод
10
1
push 1
size
push 3
size
push 1
pop
push 1
pop
push 3
push 3
1
error
1
error
1
1
error