Problem Description

都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条小径如图标上坐标:

为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)

Input

输入数据有多组。每组数据的第一行为以正整数n(0<n<100000),表示有n个馅饼掉在这条小径上。在结下来的n行中,每行有两个整数x,T(0<T<100000),表示在第T秒有一个馅饼掉在x点上。同一秒钟在同一点上可能掉下多个馅饼。n=0时输入结束。

Output

每一组输入数据对应一行输出。输出一个整数m,表示gameboy最多可能接到m个馅饼。

提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。

Sample Input

6
5 1
4 1
6 1
7 2
7 2
8 3
0

Sample Output

4

思路:与数塔问题相同的思维。

构造一个矩阵dp[t][x],表示第t秒第x个位置上有馅饼掉落,那么我把所有馅饼都填入表,这样从底向上走,走到最上面一层,找到所走过的位置中馅饼之数最大的数即可。

Source Program

#include<iostream>
#include<cstring>
#define N 100001
using namespace std;
int dp[N][12];int max(int a,int b,int c)
{int temp=a>b?a:b;return temp>c?temp:c;
}
int main()
{int c,n;int x,t;int i,j;int maxx;while(cin>>n && n){memset(dp,0,sizeof(dp));maxx=0;for(i=0;i<n;i++){cin>>x>>t;dp[t][x]++;//第几分钟第几位置加上一个馅饼if(maxx<t)//记录最大的行maxx=t;}for(i=maxx-1;i>=0;i--)//枚举时间for(j=0;j<=10;j++)//枚举坐标dp[i][j]=max(dp[i+1][j+1],dp[i+1][j],dp[i+1][j-1])+dp[i][j];cout<<dp[0][5]<<endl;}return 0;
}

免费馅饼(HDU-1176)相关推荐

  1. 免费馅饼 HDU - 1176

    免费馅饼 HDU - 1176 题意: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  2. 动态规划训练18 [免费馅饼 HDU - 1176 ]

    免费馅饼 HDU - 1176 这也是一道比较简单的动态规划 dp[i][j]表示到时间i,位置为j所能采集的最大馅饼数量 状态转移非常好写 dp[i][j] = max{dp[i-1][j],dp[ ...

  3. 免费馅饼 (DP动态规划问题详细解析)

    免费馅饼 HDU - 1176 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米 ...

  4. HDU 1176 免费馅饼(记忆化搜索)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. HDU 1176 免费馅饼 (动态规划、另类数塔)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. hdu 1176 免费馅饼(DP)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. HDU -- 免费馅饼(ACM Step: 3.2.8)

    一.概述 1.问题描述 在一个长度为10的数轴中,从0到10编号,gameboy站在坐标为5的点,此刻时间为0. 已知,每过1秒,在不同的坐标点都有可能出现馅饼,并且gameboy每秒钟只能走1个数轴 ...

  8. 免费馅饼 (动态规划)

    HDU 1176 免费馅饼 (动态规划) Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在 ...

  9. NYOJ 613免费馅饼

    免费馅饼 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gamebo ...

  10. NYOJ 613 免费馅饼

    免费馅饼 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...

最新文章

  1. Linux执行可执行文件提示No such file or directory的解决方法
  2. 深入理解CSS变形transform(3d)
  3. 看看那些令你惊叹的PCB设计艺术
  4. 谷歌火狐浏览器限制的端口
  5. 使用flex布局把三个元素分配成两列,第二列垂直布局两个元素
  6. ASP.NET Web API 接口执行时间监控
  7. 纯文字海报如何排版更引人注目?
  8. opencv计算图像亮度调节_图像数据集增强方式总结和实现【数字图像处理系列四】...
  9. java程序无法启动_无法打开java小程序?小迅支招
  10. markdown 数学公式符号大全
  11. java商品详情页设计_java高并发秒杀系统3-2节商品详情页上.mp4
  12. 202020 公文系统安装技巧
  13. 上海高一计算机奥赛,上海物理奥赛金牌“大神”爱番剧和高达,已保送清华大学姚班...
  14. SSL 3.0 安全漏洞修复方法
  15. windows10+python3.7.0(anaconda)+MeCab安装总结
  16. 基于c语言的语法分析器的实现
  17. c11计算机考试,2015年计算机二级考试C++备考练习试题及答案(6)
  18. ubuntu16 安装UR5e driver
  19. Jim在2022的8760小时
  20. github 链接域名

热门文章

  1. 干货:用Python玩转数据可视化,炫酷图表是这样做出来的
  2. 再说深度学习是黑匣子,就把这篇文章糊 Ta 脸上
  3. linux内核源码目录分析
  4. w8服务器dns修改,Win8.1系统的DNS地址如何修改?修改win8.1系统DNS地址图文教程
  5. linux内核ufs设备树,Linux内核初始化流程笔记
  6. 面试官:Redis中的缓冲区了解吗
  7. 发年终奖了,送台MacBook Air!
  8. 最新!2022互联网薪酬盘点,你达标了吗?
  9. 美团面试官:讲清楚MySQL结构体系,立马发offer
  10. 聊聊这些天收到的简历