#P20010. 徐阳衍天 · 子集万象
徐阳衍天 · 子集万象
徐阳衍天 · 子集万象
题目背景
徐阳坐镇云剑宗藏经阁,翻开一卷名为《万法归宗诀》的上古秘籍。
秘籍记载:修习此诀,需先掌握一套基础招式(每个招式有唯一编号)。将所有可能的招式组合(包括空集——即"守势")一一列出,方可悟透"万法归一"的至高境界。
"穷举万象,不过如此。"徐阳指尖轻点,识海中浮现出所有可能。
题目描述
给定 T 组数据,每组包含一个整数 N 和 N 个互不相同的整数 nums,表示 N 个基础招式编号。
请输出 nums 的所有子集(即幂集),共 2^N 个。空集需要包含在内。
输出需按以下规则排序:
- 每个子集内的元素按升序排列。
- 所有子集先按子集大小(元素个数)升序排列。
- 大小相同时按字典序升序排列。
- 空集输出一个空行。
输入格式
第一行一个整数 T,表示数据组数。
接下来对于每组数据:
- 第一行一个整数 N。
- 第二行 N 个互不相同的整数,以空格分隔。
输出格式
对于每组数据,输出该组数据的所有子集,每个子集占一行。子集内元素以空格分隔。空集占一个空行。
各组数据的输出连续输出,组之间无额外分隔。
样例
2
3
1 2 3
2
5 3
1
2
3
1 2
1 3
2 3
1 2 3
3
5
3 5
数据范围
- 1 ≤ T ≤ 5
- 1 ≤ N ≤ 15
- -100 ≤ nums[i] ≤ 100
- nums 中所有元素互不相同
- 单组数据输出行数为 2^N,最大不超过 32768
- 所有测试数据总输出行数不超过 50000