拆分(回溯)

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;
 

 

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

[LeetCode] 139. 单词拆分 ☆☆☆(动态规划 回溯)

leetcode-139回溯超时动态规划单词拆分

LeetCode 140. 单词拆分 II(回溯算法和DFS解决)

动态规划 自然数拆分

单词拆分

LeetCode--单词拆分