Dãy con ngoặc
Đề bài
Mô tả
Một dãy ngoặc là một xâu chỉ gồm các ký tự "(" và ")". Một dãy ngoặc đúng là dãy ngoặc có thể biế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 dãy. Ví dụ, "()()" và "(())" là các dãy ngoặc đúng (tương ứng với "(1)+(1)" và "((1+1)+1)"), còn ")(", "(" và ")" thì không.
Dãy con của một dãy là dãy thu được bằng cách xóa đi một số ký tự (có thể không xóa ký tự nào) mà không thay đổi thứ tự các ký tự còn lại.
Cho một dãy ngoặc đúng và một số nguyên . Hãy tìm một dãy ngoặc đúng có độ dài đúng bằng sao cho nó đồng thời là một dãy con của .
Dữ liệu đảm bảo luôn tồn tại một dãy như vậy. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên và : độ dài của và độ dài của dãy cần tìm.
- Dòng thứ hai chứa xâu : một dãy ngoặc đúng có độ dài .
Dữ liệu ra
In ra một dãy ngoặc đúng độ dài đúng bằng và là dãy con của .
Ràng buộc
- , cả và đều chẵn.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 4 ()(()) |
()() | Xóa cặp ngoặc trong cùng để còn lại độ dài 4. Đáp án khác như (()) cũng được chấp nhận. |
| 8 8 (()(())) |
(()(())) | Vì nên phải lấy toàn bộ . |
| 20 10 ((()))()((()()(()))) |
((()))()() | Một dãy ngoặc đúng độ dài 10 là dãy con của . |
Bình luận