CH0301 递归实现指数型枚举

描述

从 1~n 这 n(n<16) 个整数中随机选取任意多个,输出所有可能的选择方案。

输入格式

一个整数n。

输出格式

每行一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意

样例输入

3

样例输出

3
2
2 3
1
1 3
1 2
1 2 3
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n;
 7     cin>>n;
 8     for(int i=0;i<1<<n;i++)
 9     {
10         if(!i)printf("%c",' ');
11         else
12         {
13             for(int j=0;j<n;j++)
14             if(i>>j&1)printf("%d%c",j+1,' ');
15         }
16         printf("%c",'\n');
17     }
18     
19     return 0;
20 }

 

posted @ 2022-01-27 22:13  matt-11  阅读(63)  评论(0)    收藏  举报