部分和问题

描写叙述
给定整数a1、a2、.......an。推断能否够从中选出若干数,使它们的和恰好为K。

输入
首先,输入n。表示数的个数。

接着一行n个数。

(1<=n<=20,保证不超int范围)

下一行输入k,表示数的和

输出
假设和恰好能够为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成。否则“NO”
例子输入
4
1 2 4 7
13
例子输出
YES

简单的dfs

#include<iostream>

using namespace std;

#define MAX_N 30 

int a[MAX_N];

int n,k;





bool dfs(int i,int sum)//已经从前i项得到了和sum,然后对于 i 项之后的进行分支 

{

if(i==n)return sum==k;//假设前n项都计算过了,则返回sum是否与k相等 

if(dfs(i+1,sum))return true;//不加a[i] 

if(dfs(i+1,sum+a[i]))return true;//加a[i] 

return false;//是否加上a[i]都不能凑成k 







int main()

{

cin>>n;

for(int i=0;i<n;i++)

{

cin>>a[i];

}

cin>>k;

if(dfs(0,0))

cout<<"YES"<<endl;

else 

cout<<"NO"<<endl;

return 0;

}

Challenge-2.1.4 部分和问题的更多相关文章

  1. 手势识别(一)--手势基本概念和ChaLearn Gesture Challenge

    以下转自: http://blog.csdn.net/qq1175421841/article/details/50312565 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的 ...

  2. CF Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)

    1. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort    暴力枚举,水 1.题意:n*m的数组, ...

  3. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  4. The Parallel Challenge Ballgame[HDU1101]

    The Parallel Challenge Ballgame Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ( ...

  5. X5的UI部分和传统Web页面开发的差异

    http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...

  6. bzoj 2295: 【POJ Challenge】我爱你啊

    2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec  Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...

  7. NYOJ 1058 部分和问题

    部分和问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 给定整数a1.a2........an,判断是否可以从中选出若干数,使它们的和恰好为K.   输入 首先, ...

  8. acdream.LCM Challenge(数学推导)

     LCM Challenge Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Submit ...

  9. [codeforces 235]A. LCM Challenge

    [codeforces 235]A. LCM Challenge 试题描述 Some days ago, I learned the concept of LCM (least common mult ...

  10. iOS 网络请求中的challenge

    这里有一篇文章,请阅读,感谢作者!http://blog.csdn.net/kmyhy/article/details/7733619 当请求的网站有安全认证问题时,都需要通过 [[challenge ...

随机推荐

  1. 理解Flow静态类型检查

    一.为什么在JavaScript中使用静态类型 了解静态类型的最快方法是将其与动态类型进行对比. 有静态类型参数的语言被称为静态类型语言. 另一方面,有动态类型参数的语言被称为动态类型语言.核心区别是 ...

  2. eclipse package explorer视图中怎么让default package不显示?

    如下图所示:

  3. java实现 tf-idf

    1.前言 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术.TF意思是词频(Term Frequency), ...

  4. 转: 关于android 机型适配的问题

    转: http://www.csdn.net/article/2015-09-08/2825645

  5. 接口测试框架开发(一):rest-Assured_接口返回数据验证

    转载:http://www.cnblogs.com/lin-123/p/7111034.html 返回的json数据:{"code":"200","m ...

  6. 浅记初次使用expect、scp中出现的一些小问题

    以前也学过一些shell,不过学得并不是很深入,动手写的代码的时间也不是很多.前不久将shell比较细的过了一遍,leader布置了任务让用shell写一个脚本将redis源码压缩包从一个服务器上传到 ...

  7. npm技巧

    你看一个同事正在编码,其中应用上了一些简写和技巧,不知为何,你不熟悉它并且你的大脑一片混乱,这种场景发生在过去我们每个人身上. 在这篇短文中,我们将会介绍一些非常实用的 npm 技巧.有很多文章中的技 ...

  8. python学习准备阶段(环境配置)python解释器的选择

    pycharm提示No Python interpreter configgured for the project ####### 1 点击configure python interpreter ...

  9. 关于Eric 6的后端调试器无法启动错误 [The Debugger backend could not be started]

    声明: 1)本文由我bitpeach原创撰写.本篇如有转载,请注明来源. 2)本篇主要谈Eric6的一个怪异错误.因为篇幅不长,只是一个短记,以备档查阅. 1.1 软件环境 (1)Eirc6 ,版本号 ...

  10. javascript Array(数组)

      迁移时间:2017年5月25日08:05:33 UpdateTime--2017年3月31日16:29:08 一.数组(Array) (一)用法 //js声明数组的两大类方式 // 第一类(通常使 ...