免费馅饼

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32770    Accepted Submission(s): 11169

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
Author
lwg
Recommend
We have carefully selected several similar problems for you:  1087 2084 1159 1069 1058 

Statistic | Submit | Discuss | Note

记得以前在nyoj做过一次。

既然是有t秒11个位置。我们可以把这些数想象承有t层,每层有11个数的数塔。

然后从下往上遍历即可。用一个二维数组表示数塔。

#include <stdio.h>
#include <string.h>
int dp[15][100005];
int max(int x,int y,int z)
{int t=x;if(y>t)t=y;if(z>t)t=z;return t;
}
int main()
{int n;while(scanf("%d",&n)&&n){int Max=0;memset(dp,0,sizeof(dp));//初始化,别忘了、for(int i=0;i<n;i++){int x,t;scanf("%d %d",&x,&t);dp[x+1][t]++;//把坐标都+1。(因为你遍历的时候有个x-1,避免负值)if(t>Max)Max=t;}for(int i=Max-1;i>=0;i--)//DP,从下往上遍历,从Max-1秒开始{for(int j=1;j<=11;j++)dp[j][i]=max(dp[j-1][i+1],dp[j][i+1],dp[j+1][i+1])+dp[j][i];}printf("%d\n",dp[6][0]);//输出第一次站的位置}return 0;
}

hdu1176 免费馅饼 ( 数塔(DP))相关推荐

  1. hdu1176 免费馅饼 动态规划 二维数组实现

    免费馅饼 Time Limit: 1000MS Memory Limit: 32768KB Submit Statistic Discuss Problem Description 都说天上不会掉馅饼 ...

  2. hdu1176 免费馅饼 (动态规划)

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

  3. hdu1176 免费馅饼 nyoj613 免费馅饼

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

  4. HDU 2084 数塔(DP)(JAVA版)

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  5. HDU 2084 数塔 DP

    http://acm.hdu.edu.cn/showproblem.php?pid=2084 题目: 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走 ...

  6. HD 2048 数塔 DP(简单递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这 ...

  7. 免费馅饼(简单dp)

    都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...

  8. 1071: 数塔 (动态规划)

    题目描述 PIPI在CSU的某个角落发现了一座金字塔,而且这座金字塔是由数字组成的(如下图所示),现在PIPI想到塔顶去看看,它可以从底层任意一个数字出发逐层爬上去.PIPI每次可以爬至上一层相邻的数 ...

  9. 免费馅饼 (继数塔)

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

最新文章

  1. ajax后台还没返回就先报error_通用的yii2后台yii2admin
  2. 被忽视的 Application
  3. 四旋翼建模与开源飞控算法(草稿,待整理)
  4. 零基础在学习Java时如何才能打好基础呢
  5. 解惑:什么才是真正的迅驰2平台本本
  6. 加快Android Studio的编译速度
  7. sparksql优化_Spark SQL amp; Streaming
  8. [转载] 【学习Python】Python查看帮助---help函数
  9. Easy2game使用
  10. jdk文件夹里点哪个是安装_jdk在哪个文件夹里面
  11. Net share 命令详解
  12. 安卓CameraX基于虹软人脸识别程序开发
  13. 大家好,我是达叔,我创建了一个做项目的星球【达叔与他的朋友们】,来吗?...
  14. 强大的 Stream 函数式编程
  15. NVIDIA,怎么查看显卡
  16. How to Rerun Failed Tests in JUnit?
  17. 玩家就是宇宙,而你就是那个玩家——谈Minecraft
  18. 自定义Behavior的艺术探索-仿UC浏览器主页
  19. Shell语言(一)
  20. scipy.misc.imresize的替换方案

热门文章

  1. 计算机配件声卡,什么是声卡?声卡(也叫音频卡)是mpc的必要部件,它是计算机进行 爱问知识人...
  2. 如何用 RapidMiner 6.4 进行中文分词
  3. 网络隔离的办公网和互联网,如何安全地进行数据交换?
  4. gddr6速率_显卡GDDR6显存基础知识:显存GDDR6和GDDR5区别对比科普篇
  5. C++ 实现Handler机制
  6. 用open3d将stl格式转化为ply格式,并且单位从mm转为m
  7. 利用python实现微信聊天机器人(需自己设置关键字及回复内容)
  8. 基于Servlet WebSocket MySQL实现的网络在线考试系统
  9. 李居明风水人人都懂版之(1)家居风水大发现
  10. js手册之基本类型及判断方法