经典dfs(depth-first search)
2016-02-22 19:07
218 查看
DFS主要在于参数的改变;
样例输入:
n=4 //给定n个数字
a={1,2,4,7} //输入n个数据
k=15 //目标数字
样例输出:
No
题意:
给定的数字在不重复使用的前提下能否达到目标,能输出Yes,否输出No
样例输入:
n=4 //给定n个数字
a={1,2,4,7} //输入n个数据
k=15 //目标数字
样例输出:
No
题意:
给定的数字在不重复使用的前提下能否达到目标,能输出Yes,否输出No
#include<algorithm> #include<iostream> using namespace std; int n,k,a[10000]; bool dfs(int i,int sum) { if(i==n) return sum==k; if(dfs(i+1,sum)) return true; if(dfs(i+1,sum+a[i])) return true; return false; } int main() { cin >> n; for(int i=0;i<n;i++) cin >> a[i]; cin >> k; if(dfs(0,0)) cout<<"Yes"<<endl; cout <<"No"<<endl; }
相关文章推荐
- java 四舍五入保留小数
- Candy
- [BZOJ 1492]货币兑换Cash
- c++ 排序算法总结
- Android 启动时间优化 <22>
- HDOJ-1081 To The Max
- iOS蓝牙开发(一)蓝牙相关基础知识
- c++ 排序算法总结
- ps切图(5)——图层原理及其操作
- database export import
- uva 10720 Graph Construction
- dstat系统分析工具的使用
- LeetCode 94. Binary Tree Inorder Traversal
- jQuery和ExtJS的timeOut超时问题和event事件处理问题
- install wine on ubuntu
- 谁有(爱普生R290维修程序)
- 给大一学生:让积累说话
- mySQL相关函数的使用
- UVAOJ 821 Page Hopping(最短路)
- 性能测试(二):性能测试的分析步骤