1367: 【中级组】组合数求和

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:97 Solved:51

Description

       给定一个从小到大排好序的正整数数组 arr 和一个正整数 target ,找出 arr 中所有可以使数字和为目标数 target 的唯一组合。
       arr中的数字可以无限制重复选取。如果至少一个所选数字数量不同,则两种组合是唯一的。
       对于给定的输入,每一数字不重复,并且有确定的和为 target 的唯一组合数大于等于1及少于 150 个。

示例 1:
输入:  n=3,  target = 7,  arr[] = {2,3,7};
输出: 2 2 3
         7


示例 2:
输入: n=1, target=1, arr[] = {1} ;
输出: 1


Input

         输入共二行,第一行为 n表示数组大小及目标和 targer。 第二行为arr数组中n个数字。数字间空格分隔。

Output

    输出和为targer的组合数。每一行一个组合数。数字间空格分隔。

Sample Input Copy

6 9
2 3 4 5 9 10

Sample Output Copy

2 2 2 3
2 2 5
2 3 4
3 3 3
4 5
9

HINT

提示:
1 <= n <= 30
1 <= target <= 500
1 <= arr[i] <= 200。每个元素都是独一无二的。