#Z1018. 子集枚举

子集枚举

题目描述

给定一个包含 nn 个元素的集合,按子集对应的二进制数从小到大的顺序,输出它的所有非空子集。

输入格式

第一行一个整数 nn,表示集合的元素个数。

第二行 nn 个整数,表示集合的所有元素(元素互不相同)。

输出格式

每个子集占一行,子集内的元素用空格隔开。按照子集所对应的二进制数从小到大的顺序输出。空集不输出。

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

样例解释

n=3n=3,二进制数从 001001111111 依次枚举:001001 对应 {1}\{1\}010010 对应 {2}\{2\}011011 对应 {1,2}\{1,2\}100100 对应 {3}\{3\}101101 对应 {1,3}\{1,3\}110110 对应 {2,3}\{2,3\}111111 对应 {1,2,3}\{1,2,3\}

数据范围与约定

子任务 分值 限制
11 100100 1n151 \le n \le 15,元素均在 int 范围内