АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

226. Brackets Control

Time Limit: 1 seconds
Memory Limit:1000KB
Points:5
View Problem Statistics Submit Problem added Undefined

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

Input

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

Output

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

Samples

InputOutput
{()[]}YES
([]NO

Comments

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


View Problem Statistics Submit Author/source:
Educational Courses / Data Structures and Algorithms / Data Structures /
228. BitArray 226. 227. Brackets Replace 245. Divisors 695. I - Near Numbers
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.437 sec.
© Copyright VSTU, AVT, Nosov D.A.