#HSGHNTHPT042006. Xóa đoạn ngoặc (Delete Bracket Segment)
Xóa đoạn ngoặc (Delete Bracket Segment)
Xóa đoạn ngoặc (Delete Bracket Segment)
Nguồn: Sở Giáo dục và Đào tạo Hà Nội — Kỳ thi chọn HSG thành phố và chọn đội tuyển HSG dự thi Olympic quốc gia các môn văn hóa, lớp 12 THPT năm học 2026–2027, môn Tin học (Bảng A)
Phiên bản: Phước Hưng OJ Extended
Đề bài
Một chuỗi ngoặc đúng được định nghĩa như sau:
- Chuỗi rỗng là một chuỗi ngoặc đúng.
- Nếu là một chuỗi ngoặc đúng thì cũng là một chuỗi ngoặc đúng.
- Nếu và là hai chuỗi ngoặc đúng thì cũng là một chuỗi ngoặc đúng.
Cho chuỗi có độ dài , chỉ gồm hai ký tự ( và ).
Chọn hai số nguyên và thỏa mãn
sau đó xóa toàn bộ các ký tự từ vị trí thứ đến vị trí thứ của chuỗi .
Hãy đếm số cách chọn cặp sao cho chuỗi còn lại sau khi xóa là một chuỗi ngoặc đúng.
Input
- Dòng đầu tiên chứa số nguyên dương .
- Dòng thứ hai chứa chuỗi gồm đúng ký tự
(và).
Output
In ra một số nguyên duy nhất là số cách chọn thỏa mãn yêu cầu.
Subtask
- Subtask 1 — 20 điểm: .
- Subtask 2 — 30 điểm: .
- Subtask 3 — 50 điểm: .
Ví dụ
Ví dụ 1
Input
5
())()
Output
6
Giải thích
Có cách xóa thỏa mãn, tương ứng với các cặp :
- : xóa toàn bộ chuỗi, còn chuỗi rỗng;
- : còn
(); - : còn
(); - : còn
(); - : còn
()(); - : còn
()().
Ví dụ 2
Input
4
(())
Output
2
Giải thích
Hai cách xóa thỏa mãn là:
- : xóa toàn bộ chuỗi, còn chuỗi rỗng;
- : còn
().
Liên quan
Trong các cuộc thi sau: