王道求职宝典,硬币分发问题,采用深度优先搜索算法
2016-04-06 15:32
471 查看
王道求职宝典,硬币分发问题,采用深度优先搜索算法 //============================================================================ // Name : coin_fenqian_P239_wangdao.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> #include<vector> using namespace std; int count=0; int target=50; int coin[4]={1,2,5,10}; int total=0; vector<int>solution; void dfs(int index) { if(total==target) { count++; for(int i=0;i<(int)solution.size();i++) cout<<solution[i]<<" "; cout<<endl; return; } if(total>target) return; for(int i=index;i<4;i++) { total+=coin[i]; solution.push_back(coin[i]); dfs(i); solution.pop_back(); total-=coin[i]; } } int main() { count=0; dfs(0); cout<<count<<endl; return 0; }
相关文章推荐
- 二维数组面试题(外加创建动态数组)
- java 面试小题积累<平面图形问题>
- 面试题47 不用加减乘除做加法
- 世界500强面试推理题求答案
- 面试题46 求1+2+3+...+n
- 面试题45 孩子们的游戏(圆圈中最后剩下的数)
- 面试题42 左旋转字符串
- Android消息机制浅析——面试总结
- 架构师面试题参考
- 面试题41 和为S的连续正数序列
- 职业规划课第三次作业
- 优秀程序员和普通程序员都是怎样过完一天的
- 线程——《程序员的自我修养》
- 面试题40 数组中只出现一次的数字
- java中常用算法(面试)
- 面试题39 二叉树的深度
- 面试题38 数字在排序数组中出现的次数
- LeetCode(26)-Binary Tree Level Order Traversal II
- 面试题37 两个链表的第一个公共结点
- 面试题36 数组中的逆序对