@[better_Z](/user/865793) 每次从 a[times-1] 开始枚举
by OldDriverTree @ 2023-06-14 21:02:47
参考代码,不要抄!!!
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,cnt=0;
long long a[10001];
void print(int step){
for(int i=1;i<=step-1;i++){
cout<<a[i]<<'+';
}
cout<<a[step]<<endl;
cnt++;
}
void dfs(int sum,int step){
for(int i=a[step-1];i<=sum;i++){
if(i<n){
a[step]=i;
sum-=i;
if(sum==0){
print(step);
}
else{
dfs(sum,step+1);
}
sum+=i;
}
}
}
int main(){
cin>>n;
a[0]=1;
dfs(n,1);
return 0;
}
```
强调一遍,不要抄(违规紫衫)
by caolvchong_ @ 2023-06-14 21:04:32
搜索的时候要求第 t 个数必须 $\geqslant$ 第 t-1 个数就行了,
```
for(int i=a[t - 1];i <= n - now;i++){
a[t]=i;
dfs(times+1,now+i,t+1);
a[t]=0;
}
by Filberte @ 2023-06-14 21:07:53
@[jianfanzhuo123](/user/764794) cnt是干嘛的?
by better_Z @ 2023-06-14 21:15:55
@[better_Z](/user/865793) 没有用,拿以前的代码改的哈
by caolvchong_ @ 2023-06-15 12:44:28
@[jianfanzhuo123](/user/764794) 我就抄
by yesijie @ 2023-07-14 19:56:56
@[yesijie](/user/929344) 6
by caolvchong_ @ 2023-07-14 20:11:55
@[jianfanzhuo123](/user/764794) 你6你*******我直接*****
by yesijie @ 2023-07-18 18:02:39
@[yesijie](/user/929344) 额...
by caolvchong_ @ 2023-07-18 19:31:12