UESTC878————温泉旅店(动态规划)
来源:互联网 发布:淘宝追加评论怎么删除 编辑:程序博客网 时间:2024/04/29 19:25
温泉旅店
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 262143/262143KB (Java/Others)
天空飘下一朵一朵的雪花,这是一片纯白的世界。
在天空之下的温泉旅店里,雪菜已醉倒在一旁,冬马与春希看了看说着梦话的雪菜,决定找一点玩的来度过这愉快的晚上。
这家旅店提供一种特色游戏,游戏有
春希身为一个男孩子,觉得自己理应让下女孩子,决定只有自己的得分大于冬马的时候才算自己赢,不过多管闲事的他还是想知道有多少种拿法,能让冬马赢。
Input
第一行为一个整数
第二行
Output
一个整数,表示冬马能赢过春希的方案数。
Sample input and output
255 68
5
Source
2014 UESTC Training for Dynamic Programming
简单动态规划
dp[i][j][k]表示拿i张牌,春希得分j,冬马得分k的方案数
针对第i张牌,可以选择春希拿,或者冬马拿,或者都不拿。
由此也就能得到递推式了。
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;const int MAXN=20;const int MAXM=200;int a[MAXN];int dp[MAXN][MAXM][MAXM];int main(){ int n; scanf("%d",&n); memset(dp,0,sizeof(dp)); dp[0][0][0]=1; for(int i=1;i<=n;i++){ scanf("%d",a+i); } for(int i=1;i<=n;i++){ for(int j=0;j<MAXM;j++){ for(int k=0;k<MAXM;k++){ dp[i][j][k]+=dp[i-1][j][k]; dp[i][j^a[i]][k]+=dp[i-1][j][k]; dp[i][j][k^a[i]]+=dp[i-1][j][k]; } } } int res=0; for(int i=0;i<MAXM;i++){ for(int j=i;j<MAXM;j++){ res+=dp[n][i][j]; } } printf("%d\n",res);}
0 0
- UESTC878————温泉旅店(动态规划)
- [UESTC878]温泉旅店
- 去温泉之乡泡温泉——巢湖一日游
- 动态规划——什么是动态规划?
- 动态规划 — LIS
- 动态规划——Relocation 动态规划+状态压缩
- sgu——221(动态规划)
- poj2192——Zipper(动态规划)
- 动态规划——序
- 算法——动态规划
- 算法——动态规划
- 动态规划——最大值
- 动态规划——猴子
- POJ1036——动态规划
- 算法——动态规划
- 动态规划——hdu1003
- 算法——动态规划
- 算法——动态规划
- Java面试题全集(中)
- 算算手速多少?-1
- JavaScript中的mouseover与mouseenter,mouseout和mouseleave的区别
- 框架之Mybatis
- Problem A. Googol String Google APAC 2016 University Test Round A
- UESTC878————温泉旅店(动态规划)
- Python之 itertools模块
- Android学习之路-开源项目-BottomBar
- 3D
- 几分钟搞定 Openstack 环境搭建
- Triangles
- [LeetCode] Number Complement 二进制反码
- FragmentDialog的使用
- PAT 1008