P2404 自然數的拆分問題(回溯)

2021-10-24 13:40:15 字數 912 閱讀 9039

題目描述

任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。現在給你乙個自然數n,要求你求出n的拆分成一些數字的和。每個拆分後的序列中的數字從小到大排序。然後你需要輸出這些序列,其中字典序小的序列需要優先輸出。

輸入格式

輸入:待拆分的自然數n。

輸出格式

輸出:若干數的加法式子。

輸入輸出樣例

輸入

輸出

1+1+1+1+1+1+1

1+1+1+1+1+2

1+1+1+1+3

1+1+1+2+2

1+1+1+4

1+1+2+3

1+1+5

1+2+2+2

1+2+4

1+3+3

1+62+2+3

2+53+4

說明/提示

n<=8

解題思路

用dfs深搜。一路搜到底,回溯搜尋下一方案

**

#include

using

namespace std;

int n,p[9]

=;void

print

(int t)

void

dfs(

int s,

int t)

}int

main()

洛谷P2404 自然數的拆分問題 回溯

洛谷p2404 自然數的拆分問題 回溯 第一次寫部落格,主要是給自己看的,記錄一下第一次接觸回溯法自己的理解過程,文章可能存在許多小錯誤,敬請指正 d 題目描述任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。現在給你乙個自然數n,要求你求出n的拆分成一些數字的和。每個拆分後的序列中的...

洛谷 P2404 自然數的拆分問題

任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。輸入格式 輸入 待拆分的自然數n。輸出格式 輸出 若干數的加法式子。輸入樣例 1 複製 7 輸出樣例 1 複製 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 ...

洛谷 P2404 自然數的拆分問題

任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。輸入格式 輸入 待拆分的自然數n。輸出格式 輸出 若干數的加法式子。輸入樣例 1 複製7 輸出樣例 1 複製1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 ...