我们OJ的题目是求方案数,一直是67%的错误...求dalao看一下

P2404 自然数的拆分问题

```cpp #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <cmath> #include <cstdlib> #include <algorithm> using namespace std; int a[10001]={1},n,total; int print(int t){ cout<<n<<"="; for(int i=1;i<=t-1;i++) cout<<a[i]<<"+"; cout<<a[t]<<endl; total++; } int search(int s,int t){ int i; for(int i=a[t-1];i<=s;i++) if(i<n){ a[t]=i; s-=i; if(s==0)print(t); else search(s,t+1); s+=i; } } int main(){ scanf("%d",&n); search(n,1); printf("total=%d",total); cout<<endl; return 0; } ``` 不用谢我,total就是你要的,但是你要对程序稍稍修改一下。
by I_FUCK_CM @ 2017-09-03 15:18:47


@[风吹花落如雨](/space/show?uid=43606) 没人说要谢你,~~自不自恋~~?!
by 倾城ファン恋 @ 2018-04-11 23:19:19


@[寻鸢](/space/show?uid=48187) 还是乖乖回溯吧,或者数据小的话就打表
by 月落落落 @ 2018-11-07 14:00:51


O(1)算法他不香吗?
by cjZYZtcl @ 2020-07-20 11:08:17


|