Nội dung:
Có thể định nghĩa khái niệm dãy ngoặc đúng dưới dạng đệ quy như sau:
1. () là dãy ngoặc đúng
2. C là dãy ngoặc đúng nếu C = (A) hay C = AB với A, B là các dãy ngoặc đúng.
Ví dụ dãy ngoặc đúng: (), (()), ()(), (())()
Ví dụ dãy ngoặc sai: )(, ((((, ()((, )))), )()(
Bạn hãy viết chương trình liệt kê tất cả các dãy ngoặc đúng có chiều dài n (n chẵn)
Dữ liệu nhập:
- Là số nguyên n (n chẵn, 2 ≤ n ≤ 20)
Dữ liệu xuất: với m là số lượng các dãy ngoặc đúng có chiều dài n
- Trong m dòng đầu tiên, mỗi dòng liệt kê một dãy ngoặc đúng chiều dài n. Các dãy được liệt kê theo thứ tự từ điển: '(' < ')'.
- Dòng cuối cùng: là số m
Ví dụ:
Nhập |
Xuất |
2 |
()
1 |
4 |
(())
()()
2 |
Xem hướng dẫn cách làm bài