部分和问题
来源:互联网 发布:论文投稿选择中教数据 编辑:程序博客网 时间:2024/05/28 23:11
题意:给定整数a1,a2,a3...an,判断是否可以从中选出若干数,使它们的和恰好为k.
解答:dfs
注意:只要存在一种方案,就是true!
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAXN = 110;int n,a[MAXN],k;bool dfs(int step,int t){ if(step == n+1) { return t == 0; } if(dfs(step+1,t-a[step])) return true;//!!! if(dfs(step+1,t)) return true;//!!! return false;}int main(){ while(~scanf("%d",&n)) { for(int i = 1;i <= n;i++) scanf("%d",&a[i]); scanf("%d",&k); if(dfs(1,k) == true) puts("Yes"); else puts("No"); } return 0;}
阅读全文
0 0
- DFS 部分和问题
- 部分和问题
- 多重部分和问题
- 部分和问题
- 部分和问题
- 部分和问题
- nyoj 部分和问题
- nyoj-部分和问题
- nyoj1058部分和问题
- 部分和问题
- nyoj 部分和问题
- 部分和问题
- 部分和问题
- 部分和问题
- 多重部分和问题
- 部分和问题
- 部分和问题
- 部分和问题
- 使用Python+NLTK实现英文单词词频统计
- JVM垃圾回收机制概述
- Java集合---HashTable原理分析
- SQL 连接 JOIN 例解
- JS编写判断回文数
- 部分和问题
- centOS 新增ELRepo,升级最新内核
- Download-centos7-repo
- Vijos 1464积木游戏
- 初期学到的一些java的知识(数组,数值,异常简单概念)
- SylixOS 调试方法详解——静态代码分析
- Struts2中自定义拦截器
- js bootstrap 设置滚动条滚动到最后
- Codeforces 831 C Jury Marks