Dãy ngoặc đúng

Xem dạng PDF

Gửi bài giải


Điểm: 0,60 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một xâu độ dài N chỉ gồm các kí tự '(' và ')', các kí tự được đánh số từ 1 đến N theo chiều từ trái qua phải.

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 A1 dãy ngoặc đúng thì (A)1 dãy ngoặc đúng.
  • Nếu AB2 dãy ngoặc đúng thì AB1 dãy ngoặc đúng.

Cho M truy vấn, mỗi truy vấn thuộc 1 trong 2 loại sau:

  • 0 i ch: thay đổi kí tự ở vị trí i của xâu kí tự thành kí tự ch.
  • 1 i j: in ra 1 nếu xâu con từ vị trí i đến vị trí j là một dãy ngoặc đúng, in ra 0 trong trường hợp ngược lại.

Input

  • Dòng đầu tiên chứa 2 số N, M
  • Dòng tiếp theo chứa N kí tự liên tiếp.
  • M dòng tiếp theo, mỗi dòng chứa 1 truy vấn thuộc 1 trong 2 loại trên.

Output

In ra 0 hoặc 1 tương ứng với mỗi truy vấn loại 2.

Giới hạn

2N100000

1M200000

Trong truy vấn loại 1: 1iN; ch là '(' hoặc ')'

Trong truy vấn loại 2: 1ijN;

Sample Input

Copy
8 7
()))(())
1 1 2
1 3 4
0 3 (
1 1 4
1 5 8
0 6 )
1 5 8

Sample Output

Copy
10110

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    Quangdpm  đã bình luận 12:08:36 ch, 05/02/2025

    hello


  • -15
    chunguyen2k8  đã bình luận 1:48:17 ch, 24/03/2024

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.