Bedao OI Contest 2 - Đếm dãy ngoặc đúng

Xem dạng PDF

Gửi bài giải


Điểm: 0,27 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: tbrackets.inp
Output: tbrackets.out

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

Các dấu ngoặc xuất hiện rất nhiều trong các biểu thức toán học để thể hiện thứ tự tính toán. Giờ đây ta bỏ hết các hạng tử toán tử đi, chỉ giữ lại các dấu ngoặc, biểu thức mà ta thu được gọi là một dãy ngoặc đúng. Cụ thể hơn:

  • Xâu rỗng là biểu thức ngoặc đúng

  • Nếu ~A~ là biểu thức ngoặc đúng thì (~A~), [~A~], {~A~}, <~A~> cũng là dãy ngoặc đúng

  • Nếu ~A~ và ~B~ là biểu các thức ngoặc đúng thì ~AB~ cũng là biểu thức ngoặc đúng

Cho một xâu ~S~ là một biểu thức ngoặc (có thể không đúng).

Yêu cầu: Hãy đếm số xâu con liên tiếp của ~S~ là dãy ngoặc đúng.

Input

Vào từ file văn bản tbrackets.inp:

  • Một xâu ~S~ (~|S| \le 10^5~)

Output

Đưa ra file văn bản tbrackets.out:

  • Một số nguyên duy nhất là kết quả bài toán.

Scoring

Subtask Điểm Giới hạn
1 ~30\%~ ~n \le 100~
2 ~30\%~ ~S~ chỉ gồm các kí tự ( và )
3 ~40\%~ Không có ràng buộc gì thêm

Sample Input 1

()()()

Sample Output 1

6

Sample Input 2

[]{()}

Sample Output 2

4

Đang tải...