#include <iostream>
#include <algorithm>
/*
题目描述
子集和问题的一个实例为〈S,t〉。其中,S={ 1 x , 2 x ,…, n x }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得s1中的各元素之和等于c。
输入
第一行有2个正整数n和c,n表示S的大小,c是子集子集和的目标值。接下来的1行中,有n个正整数,表示集合S中的元素。
输出
输出子集和问题的解,非下标,同时在n个数为升序的前提下,所出的子集顺序是唯一的。并输出共有几种组合,如果无解,则输出0
注意,每个数字之间空2个空格,每行最后的数字也要空两个空格
样例输入
10 60
30 46 86 5 11 66 84 49 69 55
样例输出
5 55
11 49
2
*/
using namespace std;
const int N = 1e5 + 10;
int w[N], vis[N];
算法分析-子集和数,回溯法
最新推荐文章于 2023-12-07 16:35:39 发布