问题
给定集合S,S中有n个正整数,M是一个正整数。子集和问题判定是否存在S的一个子集S1,使得S1中各元素之和等于M。请设计回溯法求解子集和问题,如果问题无解,输出“No Solution”,问题有解,则输出满足子集S1中各元素的值。
输入样例
4 31
13 24 11 7
输出样例
13 24 11 7
24 7
详解请看代码注释
源代码
#include<iostream>
using namespace std;
int* arr,*result; // arr表示数据数组;result表示解数组,用于存储解向量
int M, n, sum=0, cnt=0; // M表示目标正整数,n表示集合中的元素个数,cnt表示解的个数
void backTrack