题目:
代码:
#include<iostream>
using namespace std;
const int N=20;
bool a[N];
int n;
void dfs(int k){
if(k>n){
for(int i=1;i<=n;i++)
if(a[i]) printf("%d ",i);
printf("\n");
}
else{
a[k]=false;
dfs(k+1);
a[k]=true;
dfs(k+1);
}
}
int main(){
scanf("%d",&n);
dfs(1);
return 0;
}
运行结果: