喝啤酒(预防老年痴呆的深度搜索)
2016-02-22 18:51
363 查看
每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?
#include<algorithm> #include<iostream> using namespace std; int dfs(int p, int g, int ans) { if(p < 2 && g < 4) return ans; int ret1 = 0; int ret2 = 0; if(p >= 2) ret1 = dfs(p - 1, g + 1, ans + 1); if(g >= 4) ret2 = dfs(p + 1, g - 3, ans + 1); return max(ret1, ret2); } int main() { int n; cin>> n; n/=2; int ans = dfs(n, n, n); cout<<ans<<endl; return 0; }
相关文章推荐
- 蓝桥杯-回文数(BASIC)
- uboot的makefile分析
- ZOJ 3207 80ers' Memory(STL)
- [python]decimal常用操作和需要注意的地方
- 判断浏览器内核,然后改变图片样式
- Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知
- IE>js打印
- Dom4j的使用(全而好的文章)
- [转] 超文本传输安全协议 ---- HTTPS
- LVS负载均衡服务基本介绍
- ps切图(3)——简单工具操作(2)
- Kotlin 介绍
- 用python3.x正则表达式匹配中文字符串
- js函数传递两个参数
- jfinal常见问题
- 二维码加密解密工具——优密(手机版)正式上线!
- jfinal常见问题
- bind 事件名称 命名空间
- poj 2135: Farm Tour
- 例题 6-15 UVA 10305 Ordering Tasks 给任务排序