Ghép Dãy Ngoặc
Đề bài
Mô tả
Một dãy ngoặc là một xâu chỉ gồm hai loại ký tự "(" và ")".
Một dãy ngoặc được gọi là đúng nếu có thể biến nó thành một biểu thức số học hợp lệ bằng cách chèn thêm các ký tự "1" và "+" vào giữa các ký tự của xâu. Ví dụ, các dãy "()()" và "(())" là đúng (tương ứng với "(1)+(1)" và "((1+1)+1)"), còn ")(" và "(" thì không đúng.
Cho dãy ngoặc . Hãy đếm số cặp chỉ số với sao cho dãy ngoặc (phép ghép nối hai xâu) là một dãy ngoặc đúng.
Ví dụ, "()(" + ")()" = "()()()".
Nếu cả và đều đúng và thì cả hai cặp và đều được tính. Nếu là dãy ngoặc đúng thì cặp cũng được tính.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên : số lượng dãy ngoặc.
- dòng tiếp theo, mỗi dòng chứa một dãy ngoặc: một xâu khác rỗng chỉ gồm các ký tự "(" và ")".
Dữ liệu ra
- In ra một số nguyên duy nhất: số cặp thỏa mãn là dãy ngoặc đúng.
Ràng buộc
- Tổng độ dài của tất cả các dãy ngoặc không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 ) () ( |
2 | Các cặp thỏa mãn là cho ghép "(" + ")" = "()" và cho "()" + "()" = "()()". |
| 2 () () |
4 | Mọi cặp đều thỏa mãn: . |
Bình luận