部分和问题-dfs穷举
2016-05-19 14:37
197 查看
给定整数a1,a2,..am判断是否可以从中选出若干个数字,使得他们的和恰好为n
我们要判断每个数字选或者不选
给出一个数字n,写出1+..=n的所有加法形式
我们要判断每个数字选或者不选
#include <iostream> using namespace std; const int maxn=10005; int a[maxn]; int n; int sum; bool dfs(int i,int cursum){ if(i==n){ return cursum==sum; } if(dfs(i+1,cursum+i)) return true; if(dfs(i+1,cursum)) return true; return false; } int main(int argc, char const *argv[]) { while(cin>>n){ for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>sum; dfs(0,0); } /* code */ return 0; }
给出一个数字n,写出1+..=n的所有加法形式
相关文章推荐
- 1分钟快速生成用于网页内容提取的xslt
- HDU - 4352 XHXJ's LIS (数位DP&记忆化dfs&位运算)好题
- 【Spring学习】IoC与DI
- SDWebImage下载图片
- Android 使用fastjson找不到fastjson包问题的解决方法
- 读写Excel -- ExcelToolUtil
- 带坑水题--第六届省赛A
- 单例模式
- 给img添加类名可以动态切换图片
- Android Studio导入jar包
- 由C++的泛型句柄类思考OpenCV的Ptr模板类
- Java泛型
- Ext JS 6开发实例(一)
- BOX2D 自然的旋转到一个指定角度
- 正则表达式
- BOX2D 自然的旋转到一个指定角度
- 重新加载tableView指定section的数据
- Jquery-animateNumber数字动画插件
- 【SSH网上商城项目实战22】获取银行图标以及支付页面的显示
- Solr理解Analyzers, Tokenizers, and Filters.