АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Турниры
Учебники Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

226. Скобкоконтроль

Ограничение времени: 1 сек.
Ограничение памяти:65536 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил Неизвестный

Используя стек, решите следующую задачу. С клавиатуры вводится строка, представляющая собой арифметическое выражение, в котором встречается несколько видов скобок - круглые, квадратные, фигурные. Необходимо проверить, правильно ли расставлены скобки, т.е. каждой открывающей скобке должна соответствовать такая же точно закрывающая.
Пример правильной расстановки: (){[][]([])}. Примеры неправильных расстановок: ([)], ((())

Исходные данные

Строка символов, содержащая скобки, длиной не более 1000 символов

Результат

Одно слово YES или NO

Примеры

Исходные данныеРезультат
{()[]}YES
([]NO

Комментарии

Идея решения состоит в следующем. Встречая открывающую скобку, мы помещаем её в стек, встречая закрывающую, мы должны проверить, что на вершине стека стоит такая же точно открывающая. Если это так, то извлекаем её из стека, если не так - выражение неверно. Кроме того, если выражение правильно, то в конце работы стек должен стать пустым.


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Учебные курсы / Структуры и алгоритмы / Структуры данных /
227. Скобкозамена 226. 249. Степень числа 2 558. Хоттабыч и гирлянда
 
время генерации 0.094 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.