子集和问题

上传者: conan1025tmd | 上传时间: 2021-11-17 21:46:39 | 文件大小: 664B | 文件类型: -
S是一个整数集合,S={x1,x2,...,xn},c是一个整数。这里集合元素xi(1<=i<=n)和c都是整数,可能为负。 子集和问题就是:判断是否存在S的一个子集S1,使得: 使得x∈S1,∑x=c 对S集合子集树采用深度优先的顺序进行搜索,子集树从上到下每层标示着S集合中每个从左到右元素“选”或者“不选”(左1右0)。 试着用回溯算法设计解子集和问题。 Input 第一行2个数:正整数n和整数c。n表示S集合的大小,c是子集和的目标值,接下来一行中,有n个整数,表示集合S中的元素。 Output 将子集和问题的解输出,当无解时,输出"No Solution"(注意No Solution的大小写,空格,无标点)。 注意:依据S集合元素从左到右依次来画子集树,因此子集树唯一。 若存在多种子集和问题的解时,只输出在这个唯一的子集树按深度优先方向遇到的第一个解,这样保证解的唯一性,利于评判。 如:5 10 2 2 6 3 3 这里,2+2+6=10,2+2+3+3=10,但只输出2 2 6 如:5 10 2 2 3 3 6 只输出2 2 3 3 又如:5 -30 2 -2 6 -30 -3 只输出2 -2 -30 Sample Input 5 10 2 2 6 5 4 Sample Output 2 2 6

文件下载

评论信息

  • u010099445 :
    可以运行!!
    2014-12-24
  • gg027606 :
    能运行~但感觉算法还有完善的地方~
    2014-04-29
  • u011947734 :
    可以运行。里面的代码没有标注,看起来有点难懂
    2013-10-31
  • sicoso :
    有用,很有借鉴意义。一个简单的例子,给出了回溯法的一个代码运用实例
    2013-05-26
  • lw_92 :
    好代码 可以运行
    2013-05-07

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明