3837: 子集生成
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:20
解决:7
题目描述
给定一个由互不相同的整数组成的数组 nums,你需要输出该数组的所有子集(幂集)。子集是指原数组中任意个元素组成的集合(包括空集)。
注意:
-
解集不能包含重复的子集(因为数组元素互不相同,所以正常生成的子集自然不会有重复)。
-
输出时,每个子集内的元素按升序排列(即从小到大),不同的子集之间按字典序输出(先比较第一个元素,若相同再比较第二个,以此类推)。空集排在最前面。
输入
输入共两行。
第一行包含一个整数
第二行包含
第一行包含一个整数
n,表示数组 nums 的长度。第二行包含
n 个整数,表示数组 nums 的元素,元素之间用一个空格隔开。输出
输出所有子集。每个子集占一行,同一行中的数字按升序排列,相邻数字之间用一个空格隔开。
空集用空行表示(即直接输出一个空行)。
空集用空行表示(即直接输出一个空行)。
样例输入 复制
3
1 2 3
样例输出 复制
1
1 2
1 2 3
1 3
2
2 3
3
提示
对于 100% 的数据,1 ≤ n ≤ 10
-10 ≤ nums[i] ≤ 10
nums 中的所有元素互不相同
方法,DFS回溯,DFS枚举