1459: 子集和问题

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

题目描述

子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,...,xn}是一个正整数的集合,c
是一个正整数。子集和问题判定是否存在S的一个子集S1,使得x∈S1,∑x=c.
试设计一个解子集和问题的回溯法。
编程任务:
对于给定的正整数的集合S={x1,x2,...,xn}和正整数c,编程计算S 的一个子集
S1,使得x∈S1,∑x=c.

输入

第1 行有2 个正整数n 和c,n 表示S 的大小,c是子集和的目标值。

接下来的1 行中,有n 个正整数,表示集合S 中的元素。

输出

程序运行结束时,将子集和问题的解输出。

当问题无解时,输出“No solution!”。

样例输入 复制

5 10 
2 2 6 5 4 

样例输出 复制

2 2 6