Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
ok
. ok
. bye
и завершить работу. Команды управления стеком вводятся в описанном ранее формате по 1 на строке.
Гарантируется, что набор входных команд удовлетворяет следующим требованиям: максимальное количество элементов в стеке в любой момент не превосходит 100, все команды pop
и back
корректны, то есть при их исполнении в стеке содержится хотя бы один элемент.
Требуется вывести протокол работы со стеком, по 1 сообщению в строке
push 3 push 14 size clear push 1 back push 2 back pop size pop size exit
ok ok 2 ok ok 1 ok 2 2 1 1 0 bye
Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
ok
. ok
. bye
и завершить работу. back
и pop
программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция back
или pop
, и при этом стек пуст, то программа должна вместо числового значения вывести строку error
.
Вводятся команды управления стеком, по одной на строке
Программа должна вывести протокол работы стека, по одному сообщению на строке
size push 1 size push 2 size push 3 size exit
0 ok 1 ok 2 ok 3 bye
Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
ok
. ok
. bye
и завершить работу. Размер стека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций back
и pop
программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция back
или pop
, и при этом стек пуст, то программа должна вместо числового значения вывести строку error
.
Вводятся команды управления стеком, по одной на строке
Требуется вывести протокол работы стека, по одному сообщению на строке
push 3 push 14 size clear push 1 back push 2 back pop size pop size exit
ok ok 2 ok ok 1 ok 2 2 1 1 0 bye
Дана последовательность из \(N\) круглых, квадратных и фигурных скобок. Выяснить, можно ли добавить в неё цифры и знаки арифметических действий так, чтобы получилось правильное арифметическое выражение.
В первой строке находится число скобок \(N\), во второй - \(N\) символов из набора (, ), [, ], {, }. 1 <= \(N\) <= 100 000.
Выводится слово "Yes", если получить правильное арифметическое выражение можно, или "No", если нельзя.
2 ()
Yes
6 ([{}])
Yes
6 ([{})]
No
Рассмотрим последовательность, состоящую из круглых, квадратных и фигурных скобок. Последовательность называется правильной, если ее можно получить из какого-либо математического выражения вычеркиванием всех символов, кроме скобок. Формальное определение правильной скобочной последовательности таково:
1. Пустая последовательность является правильной.
2. Если A – правильная скобочная последовательность, то (A), [A] и {A} – правильные скобочные последовательности.
3. Если A и B – правильные скобочные последовательности, то AB – правильная скобочная последовательность.
По данной скобочной последовательности определите, является ли она правильной.
Программа получает на вход последовательность из скобок (открывающихся и закрывающихся скобок трех видов). Длина последовательности не превышает 255 символов. Последовательность не содержит пробелов (но после последнего символа могут идти пробелы и переходы на новую строку).
Проверьте, является ли эта последовательность правильной. Выведите слово yes, если последовательность правильная и слово no в противном случае.
()
yes
)
no