免费馅饼
来源:互联网 发布:网上直播视频软件 编辑:程序博客网 时间:2024/04/27 16:48
为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)
提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。
65 14 16 17 27 28 30
4
//dp[i][j]表示在i时刻j位置时最多能接到多少馅饼;
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int dp[100005][12];//dp[i][j]表示在i时刻j位置时最多能接到多少馅饼;
int n,x,t;
int main()
{
while(~scanf("%d",&n)&&n)
{
int maxj=0;
memset(dp,0,sizeof(dp));
for(int i=0;i<n;i++)
{
scanf("%d%d",&x,&t);
dp[t][x]++;
maxj=max(maxj,t);//可得最多几个点
}
for(int i=maxj-1;i>=0;i--)
{
dp[i][0]+=max(dp[i+1][1],dp[i+1][0]); //即dp[i][j]=max(dp[i+1][1],dp[i+1][0])+dp[i][j];
for(int j=1;j<=10;j++)
{
dp[i][j]+=max(max(dp[i+1][j-1],dp[i+1][j]),dp[i+1][j+1]); //同上
}
}
int ans=dp[0][5];
printf("%d\n",ans);
}
}
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- 免费馅饼
- [sklearn] 私人错误合集
- 关于STM32通用定时器更新事件中断
- 全局偏移表(GOT)和过程链接表(PLT)
- 持久化、DAO、分层开发的特点及好处
- Android 自定义控件-Canvas和Paint绘图详解-手把手带你绘制一个时钟.
- 免费馅饼
- Libevent学习笔记(一):基本使用
- GetWindowText与GetWindowTextW的区别
- Linux(Ubuntu)小知识点的记录
- The Triangle
- poj 2418 Hardwood Species(字典树)
- 500. Keyboard Row
- Dll注入技术之ComRes注入
- Visual Studio Code debug Python 代码很牛逼。