#A1005. 子集和问题

子集和问题

题目描述

子集和问题的一个实例为〈S,t〉。其中,S={x1, x2,…, xn} 是一个正整数的集合,c 是一个正整数。子集和问题判定是否存在 S 的一个子集 S1,使得子集 S1 和等于 c。

输入格式

输入数据第 1 行有 2 个正整数 n 和 c,n 表示 S 的个数,c 是子集和的目标值。接下来的 1 行中,有 n 个正整数,表示集合 S 中的元素。

输出格式

将子集和问题的解输出,当问题无解时,输出 “No Solution!”。

样例

样例输入复制

5 10
2 2 6 5 4

样例输出复制

2 2 6

数据范围与提示

对于给定的正整数的集合 S={x1, x2,…, xn} 和正整数 c,编程计算 S 的一个子集 S1,使得子集 S1 和等于 c。

n <= 10000, 使用深度优先搜索即可