Dãy ngoặc hợp lệ

View as PDF



Author:
Problem type
Points: 10 (p) Time limit: 2.0s Memory limit: 256M Input: stdin Output: stdout

Cho một chuỗi chỉ gồm các kí tự tương ứng theo ba loại ngoặc: '(', ')', '[', ']', '{', '}'.

Một dãy ngoặc hợp lệ được định nghĩa theo quy tắc đệ quy:

  • Chuỗi rỗng "" được coi là là hợp lệ.
  • Nếu A là hợp lệ thì (A), [A], {A} cũng hợp lệ.
  • Nếu A và B đều hợp lệ thì phép nối AB cũng hợp lệ.

Ví dụ:

  • Hợp lệ: "()", "([])", "{[()]}", "()[]{()}"
  • Không hợp lệ: "(]", "([)]", "((("

Cho trước một chuỗi ngoặc. Hãy viết chương trình kiểm tra xem nó có phải là một dãy ngoặc hợp lệ hay không.

Input Specification

Gồm một chuỗi ngoặc trên một dòng duy nhất.

Output Specification

In ra kết quả "YES" hoặc "NO" trên một dòng.

Constraints

Chuỗi ngoặc có độ dài không quá \(10^5\) kí tự.

Input Sample

()(())[]{[()]}

Output Sample

YES

Comments

There are no comments at the moment.