第十三周作业-必做3

2023-05-16

题目描述:
在大家不辞辛劳的帮助下,TT 顺利地完成了所有的神秘任务。

神秘人很高兴,决定给 TT 一个奖励,即白日做梦之捡猫咪游戏。

捡猫咪游戏是这样的,猫咪从天上往下掉,且只会掉在 [0, 10] 范围内,具体的坐标范围如下图所示。

在这里插入图片描述
TT 初始站在位置五上,且每秒只能在移动不超过一米的范围内接住掉落的猫咪,如果没有接住,猫咪就会跑掉。例如,在刚开始的一秒内,TT 只能接到四、五、六这三个位置其中一个位置的猫咪。

喜爱猫咪的 TT 想要接住尽可能多的猫咪,你能帮帮他吗?

Input
多组样例。每组样例输入一个 m (0 < m < 100000),表示有 m 只猫咪。

在接下来的 m 行中,每行有两个整数 a b (0 < b < 100000),表示在第 b 秒的时候有一只猫咪掉落在 a 点上。

注意,同一个点上同一秒可能掉落多只猫咪。m = 0 时输入结束。

Output
输出一个整数 x,表示 TT 可能接住的最多的猫咪数。

Sample Input
6
5 1
4 1
6 1
7 2
7 2
8 3
0
Sample Output
4
题目分析:
这个题目的数据就比较正常了,这里用的是动态规划的方法。我们需要用一个数组dp[i][j]来表示第i秒第j点所有的最大猫咪数目。

int dp[100001][11];

初始的时候我们要把有猫咪的地方个数++,然后要找到哪一个时间是最大的,我们从最大时间往前找到0秒,然后找每一个位置可能的情况。

		int mn=-114514;
		for(int i=0;i<m;i++)
		{
			int a,b;
			cin>>a>>b;
			dp[b][a]++;
			mn=max(mn,b);
		}

对于每一个情况而言,能捕捉到左右和中间三个格子的猫咪,那么这里获得的猫咪数的最大值就是包括原点的周围三个点的猫咪数目的最大值,多个数的最大值就是max函数的嵌套,毕竟max有交换律和结合律,不管是谁先谁后都一样。

dp[i][j]=dp[i][j]+max(dp[i+1][j-1],max(dp[i+1][j],dp[i+1][j+1]));

对于边上两个点,那就是他和附近一个点共两个点的情况了,这要单独的列出来。

		    dp[i][0]=dp[i][0]+max(dp[i+1][0], dp[i+1][1]);
			dp[i][10]=dp[i][10]+max(dp[i+1][10],dp[i+1][9]);

最终的结果就是第0秒(我们的时间是倒着数的)第5个位置(就是原始位置)。

cout<<dp[0][5]<<endl;

代码如下:

#include<iostream>
#include<cstring>
using namespace std;
int dp[100001][11];
int main()
{
	int m;
	while(cin>>m)
	{
		if(m==0)
		{
			break;
		}
		memset(dp,0,sizeof(dp));
		int mn=-114514;
		for(int i=0;i<m;i++)
		{
			int a,b;
			cin>>a>>b;
			dp[b][a]++;
			mn=max(mn,b);
		}
		for(int i=mn-1;i>=0;i--)
		{
			for(int j=1;j<=9;j++)
			{
				dp[i][j]=dp[i][j]+max(dp[i+1][j-1],max(dp[i+1][j],dp[i+1][j+1]));
			}
		    dp[i][0]=dp[i][0]+max(dp[i+1][0], dp[i+1][1]);
			dp[i][10]=dp[i][10]+max(dp[i+1][10],dp[i+1][9]);
		}
		cout<<dp[0][5]<<endl;
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十三周作业-必做3 的相关文章

  • 扩散模型相关论文阅读,扩散模型和知识蒸馏的结合提升预测速度:Progressive Distillation for Fast Sampling of Diffusion Models

    目录 论文地址及代码速览主要解决的问题 扩散模型预测慢 0 Abstruct0 1 逐句翻译总结 1 INTRODUCTION1 1逐句翻译第一段 xff08 扩散模型在各个方面取得很好的成果 xff09 第二段 xff08 提出扩散模型预
  • 轨迹预测Leapfrog Diffusion Model for Stochastic Trajectory Prediction

    结构速览 论文速读 解决什么问题 解决这个问题的几个关键点 总体架构上面提出了哪些创新 如何实现蛙跳 如何处理轨迹表达和训练问题 0 Abstract 1 Introduction 第一段 介绍轨迹预测这个研究方向 第二段 前人未来轨迹预测
  • 如何关闭鼠标加速效果

    如何关闭鼠标加速效果 一 第一项二 第二项 如果要关闭鼠标加速 xff0c 一共需要改变两项设置 xff0c 缺一不可 一 第一项 1 按下win 43 R键 xff0c 然后输入control xff0c 点击确定 2 点击轻松使用 3
  • [算法设计题] 判断回文字符序列

    判断回文字符序列 要求 如 abcba 是回文 xff1b good 就不是回文 算法思想 对字符串的前一半进行入栈操作 xff0c 然后从栈里回去栈顶元素与字符串的后一半第一个字符进行比较 若相等则重复此操作 否则可以直接判断改字符序列不
  • Autoware1.14运行官网Demo 适配镭神激光雷达

    项目场景 xff1a Autoware1 14 运行官网demo 适配镭神16线激光雷达 运行官网Demo 1 创建 autoware文件夹 xff0c 下载官网数据包 xff0c 并解压 span class token function
  • 磁盘问题--系统盘出现只读现象( read-only file system)

    一 说明现象原因 1 问题现象 xff0c 创建文件或者创建目录都只读 touch cannot touch file test read only file system 2 问题说明 当文件系统自身的校验机制发现文件系统存在问题时 xf
  • 第十一周作业-必做3

    题目描述 xff1a Julius Caesar 曾经使用过一种很简单的密码 对于明文中的每个字符 xff0c 将它用它字母表中后 55 位对应的字符来代替 xff0c 这样就得到了密文 比如字符 A 用 F 来代替 如下是密文和明文中字符
  • 实现用python简易演奏《数鸭子》

    前几天上课老师给我们讲了两个模块 xff0c 然后利用这两个模块来模拟钢琴键盘去简单地演奏 数鸭子 今天来分享给大家 模块1 xff1a winsound 模块2 xff1a keyboard winsound xff1a winsound
  • 控制台报错整理

    一 无法将 npm 项识别为 cmdlet 函数 脚本文件或可运行程序的名称 请检查名称的拼写 xff0c 如果包括路径 xff0c 请确保路径正确 xff0c 然后再试一次 情景 在第一次初启项目时 xff0c 安装好node xff0c
  • git常用命令

    安装git 在git的官网下载需要的版本 安装完成后需要设置用户的用户名和邮箱 git config global user name 34 Your Name 34 例如 xff1a config global user name 34
  • 表格td实现可编辑

    html xff08 elementUi中的表格 xff0c 传入位置和当前值 xff09 methods xff08 生成input xff0c 将当前输入的value值等于当前单元格的值 xff09 handleChangeCorrec
  • vue开发实例

    1 利用三元表达式实现对元素样式动态赋值 2 vue中 实现点击下载图片
  • Elementui 踩过的坑

    select下拉框 这个是Elementui 官网 Select选择器的基础用法 xff0c 现在想要更改它本身自带的默认样式 lt template gt lt el select v model 61 34 value 34 place
  • WSL2图形化界面踩坑记录

    问题 xff1a 启动xfce4时 xff0c 报错 xff1a xfsm manager load session Something wrong with home shenshiyi cache sessions xfce4 sess
  • CSP M1-A 咕咕东的奇遇

    题意 xff1a 字母a z首尾相接成环 xff0c 开始时指针指向a xff0c 圆环可以顺时针或者逆时针旋转 xff0c 给定一个字符串 xff0c 计算旋转依次得到该字符串的每一个字符最少需要转多少格 Input 一个字符串 长度 l
  • pycharm的python库在哪?pip下载的文件放在哪?一个方法,都能找到

    1 打开cmd命令行 2 标题输入pip install xxx库 xff08 1 xff09 如果没下载过 xff0c 那么将正常下载 xff08 2 xff09 若下载过了 xff0c 就会显示你下载的目录 这个目录 c users x
  • 数据库面试知识点

    1 事务及其四个特性 事务是用户定义的一个操作序列 xff0c 这些操作要么全做要么全不做 xff0c 是一个不可分割的工作单位 事务四个特性 xff1a 原子性 一致性 隔离性和持续性 原子性 xff1a 事物中包括的操作要么都做 xff
  • 第六次模拟测试-6

    题目描述 xff1a 石头剪刀布是常见的猜拳游戏 石头胜剪刀 xff0c 剪刀胜布 xff0c 布胜石头 如果两个人出拳一样 xff0c 则不分胜负 一天 xff0c 小A和小B正好在玩石头剪刀布 已知他们的出拳都是有周期性规律的 xff0
  • kali linux教程:配置 Kali 的 apt 命令在线安装包的源为阿里云

    配置 apt 国内源 因为 Kali 自带的源是国外的 xff0c 经常会因为网络问题 xff0c 而无法安装戒更新软件包 而且国外的源速度很慢 所以我们直接使用国内的源 xff0c 方便快速 点击终端按钮戒者右键桌面选择 open in
  • 相关分析和回归分析

    1 相关分析 相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法 例如 xff0c 人的身高和体重之间 xff1b 空气中的相对湿度与降雨量之间的相关关系都是相关分析研究的问题 2 回归分析 相关分析与回归分析之间

随机推荐