#5394. Phân tích số (Mã bài: ANALYSIS)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Một số nguyên dương N có thể được phân tích thành tổng của các số nguyên dương. Ví dụ, với N=4 , ta có các cách phân tích sau:

  • 4
  • 3 + 1
  • 2 + 2
  • 2 + 1 + 1
  • 1 + 1 + 1 + 1

Yêu cầu: Hãy viết chương trình tìm số cách phân tích số nguyên N thành tổng của các số nguyên dương. Hai cách phân tích được coi là khác nhau nếu chúng chứa các số hạng khác nhau (không tính đến thứ tự). Để đảm bảo tính duy nhất, ta quy ước các số hạng trong mỗi tổng được sắp xếp không tăng (giảm dần hoặc bằng nhau).

Dữ liệu: Một dòng duy nhất chứa số nguyên dương N .

Kết quả:

  • Dòng đầu tiên ghi số lượng cách phân tích K .
  • K dòng tiếp theo, mỗi dòng ghi một cách phân tích, các số hạng được viết theo thứ tự không tăng và cách nhau bởi dấu cộng. Các cách phân tích được sắp xếp theo thứ tự từ điển.

Ví dụ:

Dữ liệu:

4

Kết quả:

5
4
3+1
2+2
2+1+1
1+1+1+1

Giới hạn: 1 \le N \le 30 .