题解 3034: 自然数的拆分

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

自然数的拆分DFS

```cpp#includeusingnamespacestd;intn,d[9999999];voiddfs(intx,intc)//x表示的是已经找出的数字之和,c表示的找出的数字的个数{if(x>n)//如果和大于n,说明不行要回去,这是错误出口;{return;}elseif(x==n&&c!

另一个理解求所有1——n-1排列的和为k,

我原本想的是求出所有的排列和为k,任何set去重,结果搞完了才发现,顺序乱了。后面看了b站他说有一个贪心的思想:当前取的数字,一定是大于、等于上一个取数的。然后借个问题就解决了,比如:5111111112113这里就不能取2了,如果取了2就变成112,

C语言回溯法

摘要:解题思路:回溯法注意事项:参考代码:#include<stdio.h> int sum,n; int a[10]; void dfs(int x,int y)//x、y表示第y个加数是x { ……