Con quái vật

Đề bài

Mô tả

Một xâu chỉ gồm các dấu ngoặc tròn '(' và ')' được gọi là dãy ngoặc đúng nếu nó được xây dựng theo các quy tắc sau:

  • Xâu rỗng là một dãy ngoặc đúng.
  • Nếu s là dãy ngoặc đúng thì (s) cũng là dãy ngoặc đúng.
  • Nếu st là các dãy ngoặc đúng thì xâu ghép st cũng là dãy ngoặc đúng.

Cho một xâu s gồm các ký tự '(' , ')' và '?'. Một xâu như vậy được gọi là đẹp nếu tồn tại một cách thay thế mỗi dấu '?' bằng '(' hoặc ')' sao cho xâu thu được là một dãy ngoặc đúng khác rỗng.

Hãy đếm số cặp chỉ số (l,r) với 1lr|s| sao cho xâu con slsl+1sr là xâu đẹp.

Dữ liệu vào

Một dòng duy nhất chứa xâu s gồm các ký tự '(' , ')' và '?'.

Dữ liệu ra

In ra một số nguyên duy nhất, là số cặp (l,r) thỏa mãn.

Ràng buộc

  • 2|s|5000

Ví dụ

Input Output Giải thích
((?)) 4 Bốn xâu con đẹp: "(?" → "()", "?)" → "()", "((?)" → "(())", "(?))" → "(())".
??()?? 7 Bảy xâu con đẹp, chẳng hạn "??" → "()", "?()?" → "(())", "??()??" → "()()()".

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