当前位置:网站首页>递归实现指数型枚举(DAY 91)
递归实现指数型枚举(DAY 91)
2022-08-02 04:22:00 【张学恒】
1:题目
从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。
输入格式
输入一个整数 n。
输出格式
每行输出一种方案。
同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。
对于没有选任何数的方案,输出空行。
本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。
数据范围
1≤n≤15
输入样例:
3
输出样例:
3
2
2 3
1
1 3
1 2
1 2 3
2:代码实现
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int n;
void dfs(int u, int state)
{
if (u == n)
{
for (int i = 0; i < n; i ++ )
if (state >> i & 1)
cout << i + 1 << ' ';
cout << endl;
return;
}
dfs(u + 1, state);
dfs(u + 1, state + (1 << u));
}
int main()
{
cin >> n;
dfs(0, 0);
return 0;
}
边栏推荐
猜你喜欢
随机推荐
PDF文件转换格式
JDBC再回顾
【Interview】Recruitment requirements
高等数学(第七版)同济大学 总习题三(后10题) 个人解答
找倍数(DAY 98)
6个月测试经验,面试跳槽狮子大开口要18K,只会点点点,给我整无语了。。
数据复制系统设计(3)-配置新的从节点及故障切换
【FreeRTOS】12 任务通知——更省资源的同步方式
Qt常见问题
立方体卫星Light-1
RuoYi-App启动教程
单调队列模板 滑动窗口
alibaba数据同步组件canal的实践整理
数据可视化之百变柱状图
Deep Blue Academy - Handwritten VIO Homework - Chapter 2
LeetCode 23: 合并K个升序链表
如果有些字段不想进行序列化怎么办?
STM32 OLED显示屏--SPI通信知识汇总
(一)代码输出题 —— reverse
力扣练习——38 分割回文串









