include[HTML_REMOVED]
using namespace std;
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
//复杂度 15X2^15
const int N=15;
int n;
int state[N];//记录当前的状态0还没考虑 1表示选他 2表示不选
//全局变量初值一定是0
void dfs(int u)
{
if(u == n)
{
for(int i=0;i<n;i++) //循环对应的数 相当于数等于下标加1
{
if(state[i]==1)
{
printf(“%d “,i+1); //因为从0开始的
}
}
printf(“\n”);
return ;
}
state[u]=2 ; //未选
dfs(u+1);
state[u]=0;//恢复现场
state[u]=1;//选了
dfs(u+1);
state[u]=0;//恢复现场
}
int main() {
cin >> n;
dfs(0);
return 0;
}