3834: 数字组合之和

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:11 解决:7

题目描述

给定一个由不同正整数组成的候选数组 C 和一个目标整数 T ,请找出所有可以使数字和为 T 的组合。
规则如下:
  1. 候选数组中的每个数字可以无限次被选取。
  2. 解集不能包含重复的组合。例如,若 [2,2,3] 是一个解,则 [2,3,2] 被视为同一个解,不应重复输出。
  3. 输出的所有组合内部元素需按非递减顺序排列。
  4. 所有组合之间按照字典序从小到大输出。

输入

输入共两行:
  • 第一行包含两个整数 n 和 T (1n20 , 1T500 ),分别表示候选数组的大小和目标值。
  • 第二行包含 n 个不同的正整数 C1,C2,,Cn (1Ci200 ),表示候选数字。

输出

输出若干行,每行代表一个满足条件的组合。
  • 每行包含若干个整数,表示组合中的数字,数字之间用一个空格隔开。
  • 行末不得有多余空格。
  • 若不存在任何组合,则不输出任何内容(或根据具体评测系统要求输出特定信息,本题默认不输出)。

样例输入 复制

4 7
2 3 6 7

样例输出 复制

2 2 3
7