DFS之 部分和问题
2016-01-13 21:27
309 查看
《挑战程序设计》书上的DFS题;
从a1开始按顺序决定每个数加或者是不加,紧接着判断就好啦;
从a1开始按顺序决定每个数加或者是不加,紧接着判断就好啦;
#include <bits/stdc++.h> #define N 10010 using namespace std ; int n , k ; int a ; bool dfs(int i, int sum ) { if(i==n) return sum==n; //*sum==n是判断,如果真true,否则false*// if(dfs(i+1,sum)) return true ; if(dfs(i+1,sum+a[i])) return true ; else return false ; //*都不符合则返回false*// } int main() { cin>>n; for(int i = 0 ; i < n ; i++) { cin>>a[i]; } cin>>k; if(dfs(0,0)) //*从 i= 0 , sum=0 开始搜索*// printf("YES\n"); else printf("NO\n"); return 0 ; }
相关文章推荐
- Netty系列之Netty编解码框架分析
- java程序中的@Override是什么意思?
- 【转】C++中map容器的说明和使用技巧
- decimal system
- PHP学习之数组
- ListView 中设置setonitemclicklistener()监听时,无法获取item条目的点击事件焦点
- 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)
- jquery页面滑到底部加载更多
- Spring MVC——DispatcherServlet简单介绍
- 编译语言和解释语言(脚本)
- 【手把手教你全文检索】Apache Lucene初探(转)
- 树莓派配置交叉编译环境
- 什么叫对冲基金
- HPU:1312Red and Black(dfs)
- 在Flickr的开发与运维合作(笔记)
- cloudera manager
- 20140719中国互联网公司市值排名TOP20
- Spring hello world实例
- 12本最具影响力的程序员书籍_书籍书评_酷勤网
- Servlet - github