LTOJ Challenge 01 - Dãy ngoặc

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, SCRATCH, Sed, Text
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: DAYNGOAC.INP Output: DAYNGOAC.OUT

Một dãy ngoặc đúng là một xâu gồm các ký tự (, ), [, ], {} định nghĩa như sau:

  • Xâu rỗng (không có ký tự nào) là một dãy ngoặc đúng,
  • Nếu AB là hai dãy ngoặc đúng thì AB (xâu tạo thành bằng cách lấy xâu A nối vào trước xâu B) cũng là một dãy ngoặc đúng,
  • Nếu A là một dãy ngoặc đúng thì (A), [A]{A} cũng là những dãy ngoặc đúng.
    Những xâu không thành lập được theo quy tắc trên không phải là dãy ngoặc đúng.

Ví dụ {[()()[]()]}() là một dãy ngoặc đúng nhưng [(])}}}{{{ không phải là những dãy ngoặc đúng.

Input

Dữ liệu nhập từ tệp DAYNGOAC.INP có cấu trúc như sau:

  • Dòng đầu tiên chứa số nguyên dương \(n (n\leq 10)\)
  • \(n\) dòng tiếp theo, mỗi dòng chứa một xâu ký tự có độ dài không vượt quá \(10^6\) và chỉ chứa các ký tự (, ), [, ], {}.

Output

Dữ liệu in ra tệp DAYNGOAC.OUT theo cấu trúc như sau:
- Ghi \(n\) dòng, mỗi dòng ghi YES/NO tương ứng với xâu tương ứng có phải là dãy ngoặc đúng hay không.

Sample
Input
4
{[()()[]()]}()
[(])
([{}]){[()]}
{{{}}
Output
YES
NO
YES
NO

Bình luận

Gần nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: