Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
LKBRACKET - Sinh các dãy ngoặc đúng |
Xét dãy ngoặc là một xâu chỉ gồm các ký tự “(” và “)”. Ta định nghĩa dãy ngoặc đúng như sau:
- Xâu rỗng là một dãy ngoặc đúng.
- X là một dãy ngoặc đúng khi và chỉ khi X có một trong hai dạng: (Y) hoặc YZ trong đó Y, Z là các dãy ngoặc đúng.
Cho số nguyên dương N, hãy liệt kê tất cả các dãy ngoặc đúng độ dài 2N.
Dữ liệu vào:
Một dòng duy nhất chứa số nguyên dương N.
Dữ liệu ra:
Liệt kê tất cả các dãy ngoặc đúng độ dài 2N theo thứ tự từ điển tăng dần (theo nguyên tắc so sánh chuỗi, chú ý “(” < “)” ), mỗi dãy trên một dòng
Ví dụ:
Dữ liệu vào:
2
Dữ liệu ra:
(())
()()
Giải thích: Với N bằng 2, chỉ có 2 dãy ngoặc đúng độ dài 4 theo thứ tự như trên.
Giới hạn: 1 ≤ n ≤ 10.
Được gửi lên bởi: | noname00.pas |
Ngày: | 2017-05-06 |
Thời gian chạy: | 0.100s-1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập thực hành CSL |