试图使用queue代替数组存放 但是一塌糊涂 求助

P2404 自然数的拆分问题

```deque``` 支持快速地开头、结尾的插入、弹出,并且支持和数组(```vector```)一样的下标访问。
by Kedit2007 @ 2022-11-01 14:15:22


@[Kedit2007](/user/578972) %%%%
by Traitorous_X @ 2022-11-02 13:03:32


``` #include<cstdio> #include<iostream> #include<cstdlib> using namespace std;int a[10001]={1},n; int printff(int t) { for(int i=1;i<t;i++) { cout<<a[i]<<"+"; } cout<<a[t]<<endl; } int suicide(int s,int t) { for(int i=a[t-1];i<=s;i++) { if(i<n) { a[t]=i;s-=i; if(s==0) printff(t); else suicide(s,t+1); s+=i; } } } int main() { cin>>n; suicide(n,1); return 0; }
by xingcode @ 2022-11-28 19:27:33


深度优先不能用队列和循环实现,反正我是没见过,队列和循环最多能弄个广度优先,但深度优先和广度优先截然不同。一个可以比作找路径,一个是地毯式搜索。
by Ayst @ 2022-12-11 18:50:19


|