Xâu dấu ngoặc gần hợp lệ

Đề bài

Mô tả

Cho một xâu dấu ngoặc s độ dài n, gồm các kí tự ().

Một xâu dấu ngoặc được gọi là hợp lệ nếu có thể chèn thêm các kí tự 1+ vào xâu để được một biểu thức số học đúng. Ví dụ, ()()(()) là các xâu hợp lệ (tương ứng với (1)+(1)((1+1)+1)), trong khi )(( thì không.

Bạn được phép đổi loại của đúng một kí tự trong xâu: nếu kí tự đó là ( thì biến thành ) và ngược lại.

Hãy đếm số vị trí i (1in) sao cho sau khi đổi loại của si, xâu thu được là một xâu dấu ngoặc hợp lệ.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n — độ dài xâu dấu ngoặc.
  • Dòng thứ hai chứa xâu s độ dài n chỉ gồm kí tự ().

Dữ liệu ra

In ra một số nguyên duy nhất — số vị trí i thỏa mãn yêu cầu đề bài.

Ràng buộc

  • 1n106.

Ví dụ

Input Output Giải thích
6
(((())
3 Đổi vị trí 2 cho ()(()), đổi vị trí 3 cho (()()), đổi vị trí 4 cho ((())) — đều hợp lệ. Có 3 vị trí phù hợp.
6
()()()
0 Xâu đã hợp lệ, mọi phép đổi đều phá vỡ tính hợp lệ.
1
)
0 Độ dài 1 là số lẻ nên không thể tạo thành xâu hợp lệ.
8
)))(((((
0 Không tồn tại phép đổi đơn lẻ nào biến xâu này thành hợp lệ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0