e-olymp
Задачи

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

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

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

  • push n - Добавить в стек число n (значение n задается после команды). Программа должна вывести ok.
  • pop - Удалить из стека последний элемент. Программа должна вывести его значение.
  • back - Программа должна вывести значение последнего элемента, не удаляя его из стека.
  • size - Программа должна вывести количество элементов в стеке.
  • clear - Программа должна очистить стек и вывести ok.
  • exit - Программа должна вывести bye и завершить работу.

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

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

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

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

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

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
push 2 
back 
pop 
size 
pop 
push 1 
size 
exit
Выходные данные #1
ok
2
2
0
error
ok
1
bye