Dãy ngoặc
Nộp bài giải
Điểm:
7,00 (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#, C++, Java, Javascript, Kotlin, Pascal, Python, Scratch
Một dãy ngoặc hợp lệ là một xâu ký tự gồm các ký tự , , , , , thỏa mãn:
- Xâu rỗng là dãy ngoặc hợp lệ.
- Nếu là dãy ngoặc hợp lệ thì , , cũng là dãy ngoặc hợp lệ.
- Nếu và là các dãy ngoặc hợp lệ thì cũng là dãy ngoặc hợp lệ.
Độ sâu lồng nhau của một dãy ngoặc hợp lệ là số lượng cặp ngoặc lồng nhau nhiều nhất tại bất kỳ vị trí nào trong xâu.
Xét tất cả các dãy ngoặc hợp lệ có độ dài và độ sâu lồng nhau không quá . Sắp xếp các dãy này theo thứ tự từ điển với quy ước: .
Yêu cầu: Cho một dãy ngoặc hợp lệ có độ dài và độ sâu lồng nhau không quá , hãy tìm thứ hạng của trong danh sách trên (đánh số từ ).
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên dương và .
- Dòng thứ hai chứa xâu có độ dài .
Dữ liệu ra
- Ghi ra một số nguyên duy nhất là thứ hạng của xâu .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 ()() |
1 | là dãy ngoặc hợp lệ nhỏ nhất theo thứ tự từ điển có độ dài và độ sâu không quá . |
| 4 2 (()) |
2 | đứng thứ sau . |
| 2 1 [] |
2 | Các dãy hợp lệ độ dài , độ sâu : , , . Xâu đứng thứ . |
Bình luận