算法分析-子集和数,回溯法

本文探讨了如何使用回溯法来求解算法中的子集和问题,详细阐述了算法思想,并通过C++代码实现,展示了回溯法在图论问题中的应用。
摘要由CSDN通过智能技术生成
#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];
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值