和为K的组合 51Nod
来源:互联网 发布:湖北侦破网络传销 编辑:程序博客网 时间:2024/06/05 18:12
第2 - N + 1行:每行1个数,对应数组的元素A
5 13246810
No
思路:这个题和我以前做过的题很相似,一个较为简单的深搜题,不过普通的深搜
加标记会超时,我们可以这样思考:这一堆数字我们已经知道总和sum(可以求
出),那么在搜索时,我们可以判断两次,搜索的出的总和cont,和sum-cont,这样就可以大大减少时间和复杂度,不用使用标记,因为在暴力搜索(两种选择,加
入,还是不加入)是把所有可能都遍历一遍。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define maxn 20+10int num[maxn];int book[maxn];int n,m,flag,sum;void dfs(int cont,int s){ if(cont==m||sum-cont==m) { flag=1; return ; } if(flag||s>=n) return ; dfs(cont+num[s],s+1); dfs(cont,s+1);}int main(){ while(~scanf("%d %d",&n,&m)) { sum=0; flag=0; for(int i=0; i<n; i++) { scanf("%d",&num[i]); sum+=num[i]; } dfs(0,0); if(flag) printf("Yes\n"); else printf("No\n"); } return 0;}
阅读全文
0 0
- 和为K的组合 51Nod
- 51Nod 1268 和为K的组合(搜索/+回溯)
- 51 nod 1268 和为k的组合
- 51nod 1268 和为K的组合
- 51Nod-1268-和为K的组合
- 51nod 1268 和为k的组合
- 51nod-【1268 和为K的组合】
- 51nod 1268 和为K的组合
- 51Nod 1268 和为K的组合
- 51nod 1268 和为K的组合
- 51nod 1268 和为k的组合
- 51nod 1268 和为K的组合
- 51nod 1268 和为K的组合 dfs
- 51nod 1268 和为K的组合 -dfs枚举
- 【51Nod】1268 - 和为K的组合(01背包 || bfs)
- 51nod 1268 和为K的组合【Dp/Dfs/折半枚举】
- 51nod 1268 和为K的组合 【dfs or dp】
- 51nod oj 1268 和为K的组合【dfs深搜----或二分区间再二分查找】
- Blockchain的鱼和熊掌系列(21) 之 TCP端口交互之socket programming in standard C
- c++临时对象的来源即成本
- spring标签radio回显
- linux学习笔记:安装登入centos
- 一个测试的xml请求头
- 和为K的组合 51Nod
- signal信号详解
- 如何应用font Awesome矢量字体图标介绍
- A计划
- MFC中实现组合键调用窗口功能
- How many integers can you find
- 设计模式六大原则之依赖倒置原则
- 递归编程盘点
- libfdk_aac is incompatible with the gpl and --enable-nonfree is not specified.