ZZULI_SUMMER_PRACTICE(7)nbsp;1176nbsp;nbsp;…

2023-10-20 03:48

本文主要是介绍ZZULI_SUMMER_PRACTICE(7)nbsp;1176nbsp;nbsp;…,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

免费馅饼

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


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
DP,经典问题
代码:
#include<stdio.h>
#include<string.h>
int map[100008][15];
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int n,i,j,a,b,time;
while(scanf("%d",&n),n)
{
memset(map,0,sizeof(map));
time=0;
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
map[b][a]++;
if(time<b)
time=b;
}
for(i=time;i>0;i--)
{
map[i][0]+=max(map[i+1][0],map[i+1][1]);
for(j=1;j<10;j++)
map[i][j]+=max(map[i+1][j-1],max(map[i+1][j],map[i+1][j+1]));
map[i][10]+=max(map[i+1][10],map[i+1][9]);
}
printf("%d\n",max(map[1][4],max(map[1][5],map[1][6])));
}
return 0;
}

这篇关于ZZULI_SUMMER_PRACTICE(7)nbsp;1176nbsp;nbsp;…的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244435

相关文章

PAT (Advanced Level) Practice——1011,1012

1011:  链接: 1011 World Cup Betting - PAT (Advanced Level) Practice (pintia.cn) 题意及解题思路: 简单来说就是给你3行数字,每一行都是按照W,T,L的顺序给出相应的赔率。我们需要找到每一行的W,T,L当中最大的一个数,累乘的结果再乘以0.65,按照例子写出表达式即可。 同时还需要记录每一次选择的是W,T还是L

Ubuntunbsp;出现apt-get:nbsp;Packag…

学习了 原文地址:Ubuntu 出现apt-get: Package has no installation candidate问题 作者:zhou4539   Ubuntu 出现apt-get: Package has no installation candidate问题 分类: 系统-Linux 2011-12-18 13:32 751人阅读 评论(0) 收藏 举报 今天在

微信公众平台nbsp;10.29日更新nbsp;之己见

曾经有前辈说过,无论微信 5.0 的部分功能做的有多差,但是这是微信转型的一个里程碑。起初,笔者有点不太理解其中的道理,但是随着自己做了些东西东西后,才慢慢发现,这种先推广后优化,让用户去引导功能开发的策略是多么的明智。 此前,网络曾有谣言,微信服务号将于明年起收3000元/年的年费,这一传言尚未被证实,昨天微信公众平台正式推出了微信认证这一个功能,服务号可以花费300元进行认

PAT (Advanced Level) Practice

1001:  题目大意: 计算 a+b 的结果,并以标准格式输出——即每三个数字一组,组之间用逗号分隔(如果数字少于四位,则不需要逗号分隔)  解析: 我们知道相加右正有负,对于样例来说 Sample Input: -1000000 9 Sample Output: -999,991 如果是从左往右,算上负号的话输出应该是-99,999,1 从右往左:-,999,991离正确

Code Practice Journal | Day59-60_Graph09 最短路径(待更)

1. Dijkstra 1.1 原理与步骤 步骤: 选取距离源点最近且未被访问过的节点标记该节点为已访问更新未访问节点到源点的距离 1.2 代码实现 以KamaCoder47题为例 题目:47. 参加科学大会(第六期模拟笔试) (kamacoder.com) class Program{public static void Main(string[] args){//处

C语言的条件编译#if,nbsp;#elif…

原文地址:C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef 作者:Embeder 有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指

结构体定义nbsp;typedefnbsp;structnbsp;…

很不错 原文地址:结构体定义 typedef struct 用法详解和用法小结 作者:紫心玲儿 typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n; 若用typedef,可以这样写,typedef struct node

C++nbsp;usingnbsp;namespacenbsp;stdnbsp;详解

一 : 和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。  后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。  因此,当使用时,相当于在c中调用库函数,使用

C++的dllexport和dllimportnbsp;nbsp;…

C++的dllexport和dllimport: __declspec(dllexport) 声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类 __declspec(dllimport)

#ifndefnbsp;PRINT_Hnbsp;nbsp;…

例一: print.h: 文件内容 #ifndef PRINT_H #define PRINT_H #ifdef __cplusplus extern " C " { #endif  //打印点东西 void Print(int iNum);  #ifdef __cplusplus }#endif  #endif 作用:为了防止头文件被重复包含: 如头文件a.h中包含函数f