Четыре задачи на стек: скобки, буквы, которые исчезают парами, постфиксный калькулятор и стек, который знает свой минимум.
- Проверяйте
empty()перед каждымtop()иpop(), если только условие не обещает, что стек там не может быть пустым. - Строки бывают длиной до 2·10⁵ символов: один проход со стеком, а не поиск пары для каждой скобки.
- Для букв, которые исчезают парами, держите
stack<char>: то, что в нём осталось в конце, и есть ответ. Чтобы напечатать его по порядку, перелейте его во второй стек. - В постфиксном калькуляторе читайте каждый токен как
string:-5— это число, а операция — только-сам по себе. Храните в стекеlong long. - «Монотонный стек» — это стек, который знает свой минимум. Ограничение по времени жёсткое, так что не забудьте строки быстрого ввода-вывода.