#HS004. 组合总和2

组合总和2

说明

给你一个 无重复元素 的整数数组 a[] 和一个目标整数 m ,找出 a[] 中可以使数字和为目标数 m 的 所有 不同组合 。

a[] 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 

如果不存在答案,输出 Error

按  从小到大 顺序输出

输入格式

第一行两个整数 n 和 m

第二行 n 个整数 ai

输出格式

输出所有满足条件的组合,按从小到大顺序输出,每个组合一行,每个数字间单个空格隔开。

样例

4 7
2 3 6 7
2 2 3
7

提示

样例说明:

a[] = {2,3,6,7}, m = 7

2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。注意 2 可以使用多次。 7 也是一个候选, 7 = 7 。 仅有这两种组合。


数据范围:

  • 1 <= n <= 30
  • 2 <= a[i] <= 40
  • a[] 的所有元素 互不相同
  • 1 <= m <= 40