#include<bits/stdc++.h>
using namespace std;
const int N=20;
int n;
int st[N];//记录每个数的状态,1是选,2是不选,0表示没有访问
void dfs(int x )//x表示当前美剧到了那个位置
{
if(x>n)
{
for(int i=1;i<=n;i++){
if(st[i]==1)
{
printf("%d",i);
}
}
printf("\n");
return;
}
//选
st[x]=1;
dfs(x+1);
st[x]=0;//恢复现场
//不选
st[x]=2;
dfs(x+1);
st[x]=0;
}
int main()
{
scanf("%d",&n);
dfs(1);
return 0;
}
//dfs入门,dfs深度优先搜索,主要是顺序的应用,思考的时候用树状图表示,不然效率低下
B站看到的,记录自己学习算法经历,避免遗忘