#include<bits/stdc++.h>
using namespace std;
int st[20];
int n;
void dfs(int x){
if(x>n){
int f=0;
for(int i=1;i<=n;i++){
if(st[i]==1&&f==0){
cout<<i;
f=1;
}else if(st[i]==1&&f==1){
cout<<" "<<i;
}
}
cout<<endl;
return;
}
//选
st[x]=1;
dfs(x+1);
st[x]=0;//恢复
//不选
st[x]=2;
dfs(x+1);
}
int main(){
cin>>n;
dfs(1);
return 0;
}
c++递归实现指数型枚举
最新推荐文章于 2024-07-25 10:17:46 发布