Правильная скобочная последовательность

Просмотр в формате PDF

Submit solution


Очки: 130
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem type
Allowed languages
C++, Python

Парсер получает строку, состоящую только из служебных символов трёх типов скобок: (), [], {}.

Необходимо проверить, является ли эта строка корректной с точки зрения вложенности:

  • каждая открывающая скобка должна быть закрыта соответствующей закрывающей;
  • закрытие должно происходить в правильном порядке вложенности;
  • после завершения разбора не должно остаться незакрытых скобок.

Определите, считает ли парсер данную строку корректной.

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

В единственной строке задана непустая строка из символов (){}[], длиной до 2 * 10^5.

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

Выведите YES, если последовательность корректна, иначе NO.

Ограничения

  • Строка непустая.
  • Длина строки не превышает 2 * 10^5.
  • Строка состоит только из символов (, ), [, ], {, }.

Примеры

Пример 1

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

([]{})

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

YES

Пояснение

Все скобки закрываются парными в правильном порядке — YES.

Пример 2

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

()

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

YES

Комментарии

Еще нет ни одного комментария.