题目描述
题目描述
写一个递归函数,枚举 n 个数 x₁,…,xₙ 中取若干个数的每种方法(子集枚举)。对每种方法把取出的数从小到大排序,若两种方法中前 k-1 个数的选取情况相同,则取了第 k 个数的在前。例如对 n=4,X={100,20,3,4},应该按如下顺序给出结果:
{100,20,3,4},{100,20,3},{100,20,4},{100,20},{100,3,4},{100,3},{100,4},{100},{20,3,4},{20,3},{20,4},{20},{3,4},{3},{4},{}。
输入格式
第一行一个正整数 n。
第二行 n 个正整数 x₁,…,xₙ。
输出格式
输出 2^n 行,每行一个子集,按题目要求顺序。
输入样例 #1
4
100 20 3 4
输出样例 #1
100 20 3 4
100 20 3
100 20 4
100 20
100 3 4
100 3
100 4
100
20 3 4
20 3
20 4
20
3 4
3
4
输入样例 #2
1
2781254
输出样例 #2
2781254
输入样例 #3
2
2392811 6727834
输出样例 #3
2392811 6727834
2392811
6727834
数据范围与约定
1 ≤ n ≤ 12;1 ≤ xᵢ ≤ 10^7