题目:92. 递归实现指数型枚举
思路:dfs,对1~n的数每一个都进行(选择/不选)即可,共2^n -1行
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e5+10;
bool sta[20];
int n;
void dfs(int u){
if(u==n+1){
for(int i=1;i<=n;i++){
if(sta[i]){
printf("%d ",i);
}
}
cout<<endl;
return ;
}
sta[u]=1;
dfs(u+1);
sta[u]=0;
dfs(u+1);
}
int main(){
cin>>n;
dfs(1);
return 0;
}