HDU 1176
来源:互联网 发布:数据库mdf文件过大 编辑:程序博客网 时间:2024/06/07 04:10
有一个数轴,0-11,人站在5的位置,天上开始掉馅饼;
人的移动速度为1,就是第一秒内只能接住4,5,6其中一个,给出馅饼掉落的位置和时间,问最多能得到多少个馅饼;
我们知道起始位置,但是不知道末位置;
用一个矩阵数组,二维数组dp来表示馅饼;
dp[i][j],i代表出现的时间,j代表位置(为了好计算我们把位置全部加1,变为1-11);
我们不知道时间多长,记录最大时间,利用时间来计算最大数量;
倒着遍历时间,然后遍历每一个位置
dp[i][j] i代表时间i,j代表j位置的时候接的最大数
状态转移方乘为
dp[i][j] += max(dp[i+1][j], max(dp[i+1][j-1], dp[i+1][j+1]));
一个人需要可以接3个位置,所以需要判断3个,边界除外
最后输出起点即可
#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn = 99999 + 5;int dp[maxn][15];int main () { int n; while(cin >> n && n) { memset(dp, 0, sizeof dp); int a, b, t = 0; for(int i = 1; i <= n; i++) { scanf("%d %d", &a, &b); dp[b][a+1]++; t = max(t, b); } for(int i = t-1; i >= 0; i--) { for(int j = 11; j >= 1; j--) { //不能多 dp[i][j] += max(dp[i+1][j], max(dp[i+1][j-1], dp[i+1][j+1])); } } cout << dp[0][6] << endl; } return 0;}
阅读全文
0 0
- hdu 1176
- hdu 1176
- hdu 1176
- HDU 1176 !
- hdu 1176
- HDU 1176
- hdu 1176
- hdu 1176
- hdu 1176
- hdu 1176
- HDU 1176
- hdu 1176
- hdu 1176
- hdu 1176
- hdu-1176
- HDU 1176
- hdu 1176
- HDU 1176
- 系统安全卫士企业级安全架构shiro源码分析
- 使用andengine开发游戏,屏幕适配出现的问题(二)。
- 奇偶数分离
- VS2010和VS2013同时安装visual assist X助手
- 从零开始前端学习[30]:Css3中新增加的选择器二
- HDU 1176
- Codeforces Round #439 (Div. 2)A,B
- ubuntu16.04配置vncserser中常见的问题
- 各大公司Java后端开发面试题总结
- CF869C:C. The Intriguing Obsession(组合数)
- Hankson 的趣味题——唯一分解定律
- 开发板之按键中断流程
- 前端面试碰到过的面试题和笔试题~
- 03动态规划基础---机器人走方格问题