Dãy Ngoặc Đúng

View as PDF

Submit solution

Points: 150.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Một dãy ngoặc đúng được định nghĩa như sau:

  • Xâu rỗng là 1 dãy ngoặc đúng.
  • Nếu A là 1 dãy ngoặc đúng thì (A) là 1 dãy ngoặc đúng.
  • Nếu A và B là dãy ngoặc đúng thì AB là 1 dãy ngoặc đúng. Cho dãy ngoặc S độ dài N và Q truy vấn biểu diễn bởi 2 số nguyên l và r ~(1 ≤ l ≤ r ≤ N)~: Kiểm tra dãy ngoặc con S[l..r] có là dãy ngoặc đúng hay không?

Dữ liệu vào:

  • Dòng đầu tiên chứa 2 số nguyên dương N và Q (1 ≤ N, Q ≤ ~10^5~).
  • Dòng thứ hai chứa dãy ngoặc S.
  • Trong Q dòng tiếp theo, mỗi dòng chứa một truy vấn.

Output:

  • Với mỗi truy vấn, in trên một dòng "YES" nếu đúng, ngược lại in "NO".
Ví dụ:
INPUT
7 3
((())()
3 4
1 5
2 7
OUTPUT
YES
NO
YES

Comments

Please read the guidelines before commenting.


There are no comments at the moment.