S40204.2-4 探查暗哨

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

2-4 探查暗哨

探查暗哨

CC离开后的第三十分钟,Echo在控制台上发现了一个隐藏列表——nn 个节点,每个都标注着"可疑"。这些不是地鼠网的公开节点,是Zero埋在外围的暗哨。每个暗哨都可能是监控点,也可能只是幌子。

"需要知道所有可能的暗哨分布。"Echo说,"每一个子集都是一种可能性。"

"指数增长。"你说,"每个节点有两种状态——是暗哨,或不是。所有可能性加起来是 2n2^n。"

"2n2^n?"Echo的投影边缘抖动了一下,"那不是很多?"

"对。但暗哨不会太多——Zero的资源有限。而且我们不需要分析全部,只需要找出'哪些节点一定是暗哨'和'哪些一定不是'。"

你开始写递归。每个节点分两个分支:假设它是暗哨,递归下一个;假设它不是,也递归下一个。整棵递归树有 2n2^n 个叶子,但你可以在中途剪掉不可能的分支——如果某个分支已经违反了已知条件,就放弃。

CC的声音突然从通讯器里传来,带着电流的杂音:"你们那边咋样了?"

"在算暗哨。"你说,"你那边呢?"

"装了三个。还有五个。"

"注意伤口。"

"啰嗦。"

通讯断了。你笑了一下,继续写代码。

二十分钟后,所有子集枚举完毕。CC也正好回来——肩膀的绷带完全红了,但她手里攥着八个干扰器的启动密钥。

"如果全部都是暗哨..."她看着屏幕上的结果,忽然说。

"那地鼠网就没有盲区。"

"但也意味着——"她转头看Echo,"Zero把所有资源都押在这些节点上了?"

Echo:"对。这意味着..."

"意味着其他地方是空的。"你说。

CC把密钥拍在控制台上,笑了一声——那种猎人发现猎物露出肚皮时的笑:"那我们就走空的地方。"


题目描述

1n1 \sim n 中选任意多个数。按字典序输出所有子集。

输入格式

nn

输出格式

所有子集,每行一个,内部空格分隔。

输入样例

5

输出样例

This problem has multiple answers and will be judged by SPJ.

提示

  • 每个位置两个分支:选/不选。递归到下一个位置。
  • n15n \le 15

暗哨分析完成。屏幕上,212=40962^{12}=4096 种子集被分类标记。CC让程序标出了所有"节点全满"的子集——如果暗哨真的遍布所有节点,那Zero就没有多余的资源在其他地方设防。

"它在赌。"Echo说,"赌我们会从正面进攻。"

"那我们就偏不。"CC把数据刀插回腰间,"从侧面绕。"

穹顶外的风忽然停了。一种奇怪的寂静笼罩了G-10外围,仿佛地鼠网本身也在等待什么。

在线编程 IDE

建议全屏模式获得最佳体验