Задача «Скобки» на C#

Помогите пожалуйста решить задачу на C#

Дана последовательность из N круглых, квадратных и фигурных скобок. Выяснить, можно ли добавить в неё цифры и знаки арифметических действий так, чтобы получилось правильное арифметическое выражение.

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

В первой строке находится число скобок N, во второй - N символов из набора (, ), [, ], {, }. 1 <= N <= 100 000.

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

Выводится слово “Yes”, если получить правильное арифметическое выражение можно, или “No”, если нельзя.

Примеры

входные данные

2 ()

выходные данные

Yes

входные данные

6 ([{}])

выходные данные

Yes

входные данные

6 ([{})]

выходные данные

No

Так а проблема в чем именно? Что пробовали? Что не получается?

простите, а в каком математическом выражении могут быть квадратные и фигурные скобки? :wink:

если я правильно понял задачу, то всё очень просто - нужно проверить корректность расстановки скобок. Для этого проще всего использовать стек: встретили открывающую скобку - поместили её в стек, встретили закрывающую скобку - проверили, что в стеке находится соответствующая (для круглой - круглая, для квадратной- квадратная и т.д.) открывающая скобка. Если тип совпадает, то убираем открывающую скобку из стека, если не совпадает - выход на NO (выражение неверное).
Дошли до конца входной строки - если стек пуст (то для всех открывающих скобок были закрывающие) - выводим YES, иначе - выводим NO

всё просто.
и, кстати, наверняка гуглится легко, если правильно сформулировать суть задачи.