拆分(回溯)

Posted jetaim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拆分(回溯)相关的知识,希望对你有一定的参考价值。

//输出n拆分的所有可能

 #include<bits/stdc++.h>
 using namespace std;
 int n,a[100];
 void dfs(int x,int y,int z)
 
     if(y>n) return ;
     if(y==n)
     
         for(int i=1;i<z;i++)
         
             if(i>1) cout<<"+";
             cout<<a[i];
         
         cout<<endl;
         return ;
     
     for(int i=x;i<n;i++)
     
         a[z]=i;
         dfs(i,y+i,z+1);
     
 
 int main()
 
     cin>>n;
     dfs(1,0,1);
     return 0;
 

 

以上是关于拆分(回溯)的主要内容,如果未能解决你的问题,请参考以下文章