#11077. 组合总和

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

给你一个 无重复元素 的整数数组 a 和一个目标整数 t ,找出 a 中可以使数字和为目标数 t 的 所有 不同组合。找不到任何组合方案,则输出输出"No"。

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

对于给定的输入,保证和为 t 的不同组合数少于 150 个。

输入格式

第一行:n和t

第二行:n个数字

输出格式

目标数为 t 的 所有 不同组合。找不到则输出输出"No"。

样例

示例 1:

输入:

4 7
2 3 6 7

输出:

2 2 3
7

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

示例 2:

输入:

3 8
2 3 5

输出:

2 2 2 2
2 3 3
3 5

解释:三种组合为:[2 2 2 2];[2 3 3];[3 5]

示例 3:

输入:

1 1
2

输出:

No

数据范围与提示

1 <= n <= 30

1 <= t <= 40

2 <= a[i] <= 40,所有元素 互不相同