和为 k 的组合(51Nod-1268)
题目
给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。
输入
第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)
第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 <= A[i] <= 10^6)输出
如果可以,输出:"Yes",否则输出"No"。
输入样例
5 13
2
4
6
8
10输出样例
No
思路:dfs
普通的深搜加 vis 标记会超时,因此可以对搜索顺序进行优化,每次 dfs 在当前结点的下一个结点开始搜索即可
源程序
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 1000000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
int n,k;
int a[N];
bool flag;
void dfs(int sum,int step) {if(flag)return;if(sum==0) {flag=true;return;}if(step<=n){for(int i=step;i<=n;i++){sum-=a[i];dfs(sum,i+1);sum+=a[i];}}
}
int main() {scanf("%d%d",&n,&k);for(int i=1; i<=n; i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)dfs(k,i);if(flag)printf("Yes\n");elseprintf("No\n");return 0;
}
和为 k 的组合(51Nod-1268)相关推荐
- 51nod 1268 和为K的组合 dfs
题目: 1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以,输出:& ...
- 51Nod:1268 和为K的组合
1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以 ...
- 欧奈尔4个经典形态_股票K线图基础知识:图解4大经典K线组合形态
下面为大家分享包括股市导图总纲.k线.均线基础.切线.指标分析.选股.板块轮动以及股市中的各种骗局,希望能给大家来个股票知识大梳理,更多更具体的投资干货知识分享,后面将会为大家一步步分享! (注意:以 ...
- 一分钟学会看k线图_1分钟学会看K线请笑纳70种经典K线组合形态,绝对干货,轻松低买高卖!...
(本文由公众号越声攻略(yslc688)整理,仅供参考,不构成操作建议.如自行操作,注意仓位控制和风险自负.) K线是最真实的盘面语言,不同的形态有不同的含义,是广大操盘手必备的交易决策工具,也是广大 ...
- 绘制自己组合的k线图_短线投资者必备的四种双K线组合抄底技巧,次次选中黑马股,精准率超高...
(本文由公众号越声投研(yslcwh)整理,仅供参考,不构成操作建议.如自行操作,注意仓位控制和风险自负.) 股市里有一句话叫做:"新手死于追高,老手死于抄底",讲的是股市里大多数 ...
- 10种K线组合给出买进信号
底部出现跳空或中长阳,强势买进,一拨升势将起. 出现在底部或调整末期,方向向上,可放心买进.如处在高位,要观察成交量,若放量可以买进,若缩量则观望为宜. 股票相关文章推荐:★ ※转型个股赚钱机会最大- ...
- unity怎么根据坐标绘制线_怎么根据阴线和阳线判断股票将稳步上涨或者下跌不止,K线组合...
继续学习股票K线组合知识,只有不断学习进步才能有所收益. K线组合稳步上涨 我们先来了解一下稳步上涨的图形,如下图所示: 稳步上涨 K线组合稳步上涨的特征 在上涨的过程中,众多阳线夹着较少的小阴线,股 ...
- 通达信自动提示穿头破脚K线组合形态(含指标公式源码)
内容提要:本文主要介绍了穿头破脚K线组合形态的概念以及穿头破脚通达信指标公式的两种写法. 阳康归来,今天给大家介绍一个比较应景的K线组合形态--穿头破脚. 一.穿头破脚介绍 穿头破脚K线组合形态由两根 ...
- K线类型识别—双K线之买入型双日K线组合
买入型双日K线组合 一.曙光初现 曙光初现由两根K线组成,第一根K线是实体较大的阴线,第二根K线跳空低开,开盘价远低于前一天的收盘价,但是不久后在买盘的推动下优势价格回升并且收盘价超过了第一根K线实体 ...
- 通达信自动提示启明星、黄昏星K线组合形态(含指标公式源码)
内容提要:本文主要介绍了启明星(早晨之星)和黄昏星(黄昏之星)K线组合形态的概念以及启明星和黄昏星通达信指标公式的写法,并设置K线颜色,添加文字标记. 一.启明星(也称早晨之星) 启明星K线组合形态是 ...
最新文章
- WP老杨解迷:可知评论系统还能勾搭用户呢
- 如何用javac 和java 编译运行整个Java工程
- 销售订单定价-客户取值
- pycharm 如何使用git链接到github实现代码提交
- 2.Redis数据库(搭建redis主从的必要性)以及主从搭建(Windows为例)
- 容器+AOP实现动态部署(四)
- 《大道至简》第二篇读后感
- 学习MySQL / MariaDB初学者 - 第1部分
- 常用JS积累之获取节点高度(基于浏览器)
- 同学,你要的SpringBoot多图片上传回显功能已经实现了,赶紧收藏吃灰~
- BZOJ 1015: [JSOI2008]星球大战starwar 并查集
- OrCAD设计原理图
- Chrome查看HTTP版本
- 微信服务通知消息找回_微信鲜为人知的4个冷知识,小技巧却有大用处
- 苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)
- 【Javascript】length属性
- LeGO-LOAM 系列(1): LeGO-LOAM 安装以及概述
- 机器学习百页书:机器学习中常用到的一些数学符号
- 6-7 学生成绩比高低
- 翻译质量评估的标准与方法
热门文章
- armadillo 库加入项目中程序卡死不运行的问题
- ZZ:WSS 扩展文件夹的属性--如何给文件夹添加扩展字段 from Jianyi0115
- ubuntu开机时网络图标不见了且不能上网
- 支撑百万级并发,Netty如何实现高性能内存管理
- JimuReport积木报表——分组报表怎么做
- jeecg怎么样好用吗?
- ORACLE10G导入11G导出的文件
- Java基础篇(02):特殊的String类,和相关扩展API
- Socket编程实践(13) --UNIX域协议
- SpringBoot使用@Cacheable实现最简单的Redis缓存