eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Стек с защитой от ошибок

Стек с защитой от ошибок

Лимит времени 2 секунды
Лимит использования памяти 128 MiB

Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:

  • push n - Добавить в стек число n (n неотрицательно). Программа должна вывести ok.

  • pop - Удалить из стека последний элемент. Программа должна вывести его значение.

  • back - Программа должна вывести значение последнего элемента, не удаляя его из стека.

  • size - Программа должна вывести количество элементов в стеке.

  • clear - Программа должна очистить стек и вывести ok.

  • exit - Программа должна вывести bye и завершить работу.

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

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

Каждая строка содержит одну команду.

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

Для каждой команды вывести в отдельной строке соответствующий результат.

Пример

Входные данные #1
push 2 
back 
pop 
size 
pop 
push 1 
size 
exit
Выходные данные #1
ok
2
2
0
error
ok
1
bye