UVa 10118 - Free Candies(记忆化搜索)
来源:互联网 发布:淘宝搜索词查询在哪里 编辑:程序博客网 时间:2024/05/20 22:30
给出4堆糖,往容量为5篮子里装任意一个在堆顶的糖,篮子里有相同颜色的就拿走,问最多能拿走几次。
定义四维数组记忆搜索。
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=45;bool bas[25];int n,piles[4][maxn],k[maxn][maxn][maxn][maxn];int dp(int a,int b,int c,int d){ int& best=k[a][b][c][d]; if(best!=-1) return best; if(count(bas,bas+25,true)==5) return best=0; if(a==n&&b==n&&c==n&&d==n) return best=0; if(a!=n){ bool& p=bas[piles[0][a]]; p=!p; best=max(best,dp(a+1,b,c,d)+(p?0:1)); p=!p; } if(b!=n){ bool& p=bas[piles[1][b]]; p=!p; best=max(best,dp(a,b+1,c,d)+(p?0:1)); p=!p; } if(c!=n){ bool& p=bas[piles[2][c]]; p=!p; best=max(best,dp(a,b,c+1,d)+(p?0:1)); p=!p; } if(d!=n){ bool& p=bas[piles[3][d]]; p=!p; best=max(best,dp(a,b,c,d+1)+(p?0:1)); p=!p; } return best;}int main(){ while(scanf("%d",&n),n){ memset(k,-1,sizeof(k)); memset(bas,0,sizeof(bas)); memset(piles,0,sizeof(piles)); for(int i=0;i<n;++i) for(int j=0;j<4;++j) scanf("%d",&piles[j][i]); printf("%d\n",dp(0,0,0,0)); } return 0;}
0 0
- UVA - 10118 Free Candies 记忆化搜索
- uva 10118 Free Candies+记忆化搜索
- UVA - 10118 Free Candies 记忆化搜索
- UVA 10118 - Free Candies(记忆化搜索)
- UVa 10118 Free Candies 记忆化搜索
- uva 10118 - Free Candies(记忆化搜索)
- UVA - 10118Free Candies(记忆化搜索)
- Uva 10118 Free Candies (DP+记忆化搜索)
- UVA - 10118 Free Candies(dfs+记忆化搜索)
- UVa 10118 Free Candies(记忆化搜索经典)
- UVa 10118 - Free Candies(记忆化搜索)
- 记忆化搜索dp(UVa - 10118 Free Candies)
- UVa 10118 Free Candies (记忆化搜索+状态压缩)
- 10118 - Free Candies(记忆化搜索)
- UVA - 10118 Free Candies 记忆化搜索经典
- UVA 10118 Free Candies 记忆化搜索 dp紫书9-2
- ZOJ 1227 Free Candies(记忆化搜索)
- 100道动态规划——5 UVA 10118 Free Candies 记忆化搜索 以及 证明状态
- 实战体会Java多线程编程精要
- 处理xcode警告: warning:performSelector may cause a leak because its selector
- Entity Framework(实体框架 EF)
- Quick-cocos2d-x的MVC架构之AppBase研究
- Android学习之往系统应用中添加framework层的jar包
- UVa 10118 - Free Candies(记忆化搜索)
- BigDecimal对象的使用
- java代码中重启服务
- deep learning 开山祖师
- ajax实现省市联动(version 1)
- 看好你的门-验证机制被攻击(9)-不严谨的异常处理
- Linux下修改host文件
- iOS 2015-3-9笔记
- 用C++实现简单的顺序表