#include
#include
#include
using namespace std;
vector visit;
vector res_vec;
vector> ans_vec;
int n;
void dfs(int i){
if(i>=n){
vector new_vec;
for(int j=0;
j>类型的vector容器里
return;
}
visit[i]=0;
dfs(i+1);
visit[i]=1;
dfs(i+1);
}
int main()
{
cin>>n;
getchar();
for(int i=1;
i<=n;
i++)
{
visit.push_back(1);
res_vec.push_back(i);
}
dfs(0);
for(auto v:ans_vec){//输出结果
for(auto i:v)
cout<
Sample Input
5
Sample Output
5
4
4 5
3
3 5
3 4
3 4 5
2
2 5
2 4
2 4 5
2 3
2 3 5
2 3 4
2 3 4 5
1
1 5
1 4
1 4 5
1 3
1 3 5
1 3 4
1 3 4 5
1 2
1 2 5
1 2 4
1 2 4 5
1 2 3
1 2 3 5
1 2 3 4
1 2 3 4 5
【DFS|使用DFS(深搜)遍历所有的序列所有的子组合(子序列)(排列组合中的组合)】注解:
文章图片
例如本例中结果为32行,即 25 = 32
推荐阅读
- 遇见蓝桥遇见你|小唐开始刷蓝桥(一)2020年第十一届C/C++ B组第二场蓝桥杯省赛真题
- Pavel loves grid mazes(CodeForce 377A)
- DFS|CodeForces - 275B (广搜)
- 搜索|Wannafly模拟赛3-B 贝伦卡斯泰露(DFS)
- CodeForces 377A
- DFS|CodeForces - 1099D(树上贪心+DFS)
- Codeforces Round #336 (Div. 1) D. Power Tree
- BFS|Solve The Maze(codeforces)
- online|Codeforces #245 (Div. 2)C. Xor-tree(DFS&&贪心