当前位置: 首页 > article >正文

【题解-洛谷】B3622 枚举子集(递归实现指数型枚举)

题目:B3622 枚举子集(递归实现指数型枚举)

题目描述

今有 n n n 位同学,可以从中选出任意名同学参加合唱。

请输出所有可能的选择方案。

输入格式

仅一行,一个正整数 n n n

输出格式

若干行,每行表示一个选择方案。

每一种选择方案用一个字符串表示,其中第 i i i 位为 Y 则表示第 i i i 名同学参加合唱;为 N 则表示不参加。

需要以字典序输出答案。

输入输出样例 #1

输入 #1

3

输出 #1

NNN
NNY
NYN
NYY
YNN
YNY
YYN
YYY

说明/提示

对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 10 1\leq n\leq 10 1n10

代码

#include<iostream>using namespace std;const int Maxn = 10 + 10;int n, vis[Maxn];void dfs(int pos){if(pos == n){for(int i = 0; i < n; i ++){if(vis[i]){cout << "Y";}else{cout << "N";}}puts("");return;}dfs(pos + 1); // 该位置不参加vis[pos] = 1;dfs(pos + 1); // 该位置参加vis[pos] = 0;
}int main(){cin >> n;dfs(0);return 0;
}

结果

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/2404139.html

相关文章:

  • (LeetCode 每日一题)3170. 删除星号以后字典序最小的字符串(贪心+栈)
  • Protobuf 中的类型查找规则
  • Python项目中添加环境配置文件
  • 【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响
  • IOS 打包账号发布上传和IOS Xcode证书配置
  • 使用 HTML + JavaScript 实现文章逐句高亮朗读功能
  • 【CSS-4】掌握CSS文字样式:从基础到高级技巧
  • 双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
  • 3. 简述node.js特性与底层原理
  • OpenCV CUDA模块图像处理------创建一个模板匹配(Template Matching)对象函数createTemplateMatching()
  • 【Kubernetes】K8s 之 ETCD - 恢复备份
  • CMS、G1、ZGC、Shenandoah 的全面对比
  • RabbitMQ 学习
  • 如何轻松、安全地管理密码(新手指南)
  • AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
  • 9.axios底层原理,和promise的对比(2)
  • 用HTML5 Canvas打造交互式心形粒子动画:从基础到优化实战
  • Gartner《How to Create and Maintain a Knowledge Base forHumans and AI》学习报告
  • 【软件工具】批量OCR指定区域图片自动识别内容重命名软件使用教程及注意事项
  • PyTorch 中cumprod函数计算张量沿指定维度的累积乘积详解和代码示例
  • docker镜像下载到本地,并导入服务器
  • 数据通信与计算机网络——数字传输
  • oracle 归档日志与RECOVERY_FILE_DEST 视图
  • 黄柏基因组-小檗碱生物合成的趋同进化-文献精读142
  • 前端杂货铺——TodoList
  • Spring Boot SSE流式输出+AI消息持久化升级实践:从粗暴到优雅的跃迁
  • camera功能真的那么难用吗
  • Model Context Protocol (MCP) 是一个前沿框架
  • SQL Server 日期时间类型全解析:从精确存储到灵活转换
  • Android Test3 获取的ANDROID_ID值不同