#dITUIlydlt00x0201. 递归实现指数型枚举

递归实现指数型枚举

子集生成问题

题目描述

1n1 \sim nnn 个整数中随机选取任意多个,输出所有可能的选择方案。

输入格式

输入一个整数 nn

输出格式

每行输出一种方案。

同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。

对于没有选任何数的方案,输出空行。

本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。

输入输出样例 #1

输入 #1

3

输出 #1


3
2
2 3
1
1 3
1 2
1 2 3

输入输出样例 #2

输入 #2

1

输出 #2


1

限制条件

  • 1n151 \le n \le 15
  • 所有输入均为整数

样例解释 #1

n=3n = 3 时,所有可能的子集包括:

  • 空集
  • {1}\{1\}
  • {2}\{2\}
  • {3}\{3\}
  • {1,2}\{1, 2\}
  • {1,3}\{1, 3\}
  • {2,3}\{2, 3\}
  • {1,2,3}\{1, 2, 3\}

输出顺序可以是任意的,但每个子集内的元素必须按升序排列。