乌龟棋(c++实现)

题目


小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。

乌龟棋的棋盘只有一行,该行有 N个格子,每个格子上一个分数(非负整数)。

棋盘第 1 格是唯一的起点,第 N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。

乌龟棋中共有 M 张爬行卡片,分成 4 种不同的类型(M 张卡片中不一定包含所有 4 种类型的卡片),每种类型的卡片上分别标有 1、2、3、4 四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。

游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片,控制乌龟棋子前进相应的格子数,每张卡片只能使用一次。

游戏中,乌龟棋子自动获得起点格子的分数,并且在后续的爬行中每到达一个格子,就得到该格子相应的分数。

玩家最终游戏得分就是乌龟棋子从起点到终点过程中到过的所有格子的分数总和。

很明显,用不同的爬行卡片使用顺序会使得最终游戏的得分不同,小明想要找到一种卡片使用顺序使得最终游戏得分最多。

现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多能得到多少分吗?


输入


输入文件的每行中两个数之间用一个空格隔开。

第 1 行 2 个正整数 N 和 M,分别表示棋盘格子数和爬行卡片数。

第 2 行 N 个非负整数,a1,a2,……,aN,其中 ai 表示棋盘第 i 个格子上的分数。

第 3 行 M 个整数,b1,b2,……,bM,表示 M 张爬行卡片上的数字。

输入数据保证到达终点时刚好用光 M 张爬行卡片。


输出


输出只有 1 行,包含 1个整数,表示小明最多能得到的分数。


样例


输入样例:
9 5
6 10 14 2 8 8 18 5 17
1 3 1 2 1


输出样例:
73


CODE

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 360,M=41;
int n,m;
int q[N];
int s[5];
int f[M][M][M][M];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&q[i]);for(int i=0;i<m;i++){int x;scanf("%d",&x);s[x]++;}f[0][0][0][0] = q[1];for(int a=0;a<=s[1];a++){for(int b=0;b<=s[2];b++){for(int c=0;c<=s[3];c++){for(int d=0;d<=s[4];d++){int w = q[1+a+2*b+3*c+4*d];int& v = f[a][b][c][d];if(a) v=max(v,f[a-1][b][c][d]+w);if(b) v=max(v,f[a][b-1][c][d]+w);if(c) v=max(v,f[a][b][c-1][d]+w);if(d) v=max(v,f[a][b][c][d-1]+w);}}}}printf("%d",f[s[1]][s[2]][s[3]][s[4]]);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多媒体互动装置如何助力智慧城市展厅的信息化建设?

随着现代化科技技术的发展&#xff0c;智慧城市的建设概念与实施也日益成熟&#xff0c;其中智慧城市展厅便是用于展示智慧城市理念、技术和规划的重要平台&#xff0c;而应用在其中的多媒体互动装置&#xff0c;更是起着重要的作用&#xff0c;它们能够让观众更直观地了解和体…

天空盒1-天空盒的实现原理

天空盒是一种常用的实时渲染技术&#xff0c;用于在三维场景中模拟远处环境&#xff0c;例如天空、山脉或城市等。它通过将一个立方体贴图&#xff08;也称为环境贴图&#xff09;投影到场景的背景中&#xff0c;给人一种无限远的感觉。以下是天空盒的实现原理&#xff1a; 创建…

对策略设计模式的一个小扩展

在基于产品的二次开发过程中&#xff0c;有时需要对产品项目中预制的某一个策略实现作些修改。但又不想修改策略的路由信息。以免调用方需要更新参数或修改代码等。基于此&#xff0c;对产品的策略接口作了一个小扩展&#xff0c;加上了一个可替换相同策略的boolean函数。效果还…

统一登陆实现简化流程

比如,前端使用vue,后端使用abp框架 则首先需要一个统一的中央认证服务,来给每个后端服务通信以验证用户凭据,并返回访问令牌, 中央认证服务保存各自后端的令牌,后端服务使用JWT或其他机制验证令牌的有效性。 1、前端登录请求中央认证服务,返回认证服务自己的令牌 2、…

AI识别技术详解 --在windows环境中部署基于YOLO v8模型的目标检测

首先 YOLO是一个端到端的目标检测算法&#xff0c;一次前向传播计算&#xff0c;实现图像的多目标检测任务&#xff0c;我么可以在ultralytics官网上查看YOLO的各个版本&#xff08;v1-v8&#xff09;以及源码 使用YOLO v8提供的python接口&#xff0c;训练一个佩戴安全帽的目标…

解释Python中的并发和并行编程

解释Python中的并发和并行编程 在Python编程中&#xff0c;并发&#xff08;Concurrency&#xff09;和并行&#xff08;Parallelism&#xff09;是两个经常被提及的概念&#xff0c;它们都与程序的执行方式有关&#xff0c;但各自有着不同的含义和应用场景。下面我们将详细解…

无人机空气动力学

在现代科技的飞速发展中&#xff0c;无人机已经成为了备受关注的热门话题。它们能够在天空中自由翱翔&#xff0c;执行各种复杂的任务&#xff0c;这一切都离不开空气动力学的奇妙原理。本文将深入剖析无人机的空气动力学&#xff0c;带您领略无人机在空中飞行的神秘世界。 引…

关于Unity使用DLL的说法

最近在研究一些构建依赖相关的&#xff0c;特别是Unity在不同平台上使用第三方类库时候的问题。简单查了一下资料&#xff0c;其实不难理解&#xff0c;这里只是简单的记录一下&#xff0c;弄明白一个简单的道理就行了。 为什么有的第三方库(DoTween),NewtonSoft等的dll库&…

数组算法——查询位置

需求 思路 使用二分查找找到第一个值&#xff0c;以第一个值作为界限&#xff0c;分为左右两个区间在左右两个区间分别使用二分查找找左边的7,&#xff1a;找到中间位置的7之后&#xff0c;将中间位置的7作为结束位置&#xff0c;依次循环查找&#xff0c;知道start>end,返回…

c++运算符重载详细笔记,有关重载的最常用的用法

在类中重新定义运算符&#xff0c;赋予它新的 只能在类中使用的类运算&#xff0c;称之为运算符重载。 c加入了运算符重载&#xff1a;而实际上我们在不知不觉的情况下就已经在使用运算符重载了。就比如我们经常使用的string类&#xff0c;c在string内部进行了运算符重载&…

uniapp小程序中使用video视频播放卡顿

问题:在使用uniapp小程序的video视频播放,视频已经在播放了,但是进度条没走,还是卡顿的状态(测试ios能正常使用,安卓手机会出现此问题) 在网上找了很多方法,最多的说是用:custom-cache"false",试了并没有效果,看来和我问题不一样,后来用了个简单粗暴的方法,发现是有效…

超标量处理器设计:两位饱和计数器基于局部历史的分支预测

★ 继续学习体系结构的知识。 1. 什么是分支预测 程序中有一种叫做分支指令的指令&#xff0c;如果在取指令阶段就可以预知本周期所取指令中是否存在分支指令&#xff0c;并且知道其方向&#xff08;跳转/不跳转&#xff09;以及目标地址&#xff0c;就可以从在下个周期从分支…

一文读懂Java中的WebEndpointProperties类(附Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 对于Java的相关知识&#xff0c;推荐阅读&#xff1a;java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; 1. 基本知识 Spring Boot 的配置类 WebEndpointProperties&#xff0c;用于配置 Web 端…

为什么市面上的数藏都长得很像?

为什么市面上的数藏都长得很像 一、NFT数藏的市场前景和概念二、目前市面上的数藏类型&#xff08;九类&#xff09;1. 头像类&#xff08;PFP&#xff09;2. 游戏类3. 艺术品/文物类4. 音乐类5. 影视类6. 演出类7. 门票类8. 体育类9. 品牌实物联名 三、各大数藏的相同点&#…

(弟)递归•斐波那契数、n的k次方

这里是目录哦 题目一&#xff1a;递归计算斐波那契数斐波那契数的定义代码运行截图递归过程递归停止条件&#xff08;1个参数&#xff09;✨非递归实现方法 题目二&#xff1a;递归实现n的k次方代码运行截图递归过程递归停止条件&#xff08;不止1个参数&#xff09;✨ 加油&am…

Java 中文官方教程 2022 版(四十九)

原文&#xff1a;docs.oracle.com/javase/tutorial/reallybigindex.html JAXB 示例 原文&#xff1a;docs.oracle.com/javase/tutorial/jaxb/intro/examples.html 以下部分描述如何使用包含在 JAXB RI 捆绑包中的示例应用程序。JAXB RI 捆绑包可从jaxb.java.net获取。下载并安装…

4月全新热文高科技,套用模板一键生成热文,没脑子拷贝,第二天出盈利

撰写热门文章&#xff0c;如今日头条或微信公众号文章&#xff0c;通常需要多长时间呢&#xff1f;从构思主题、搜集资料&#xff0c;到撰写成文&#xff0c;整个过程至少需要1小时&#xff0c;有时甚至可能需要2小时。 项目 地 址&#xff1a;laoa1.cn/1627.html 现在&…

位像素海外仓管理系统对接ERP系统教程,一对一教学

在海外仓管理过程中&#xff0c;对接ERP系统的重要性不言而喻的。这种对接不仅能让数据实时共享&#xff0c;还能让海外仓管理者优化整个供应链管理流程。 因此&#xff0c;今天小编就来教大家&#xff0c;海外仓仓库系统是怎么对接ERP物流系统的&#xff1f; 1.分析需求 在对接…

微信小程序兼容iphone适配安全区域

背景&#xff1a; 小程序页面底部在ios中会有小黑条遮挡 上代码&#xff1a; padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */ padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS > 11.2 */ 项目描述&#xff1a; 微信小程序是通过…

HTML 入门 ( 一 )

HTML文档创建 首先创建一个txt文本文档 修改文件后缀 HTML标签 标签结构 标签又称为元素,是HTML的基本组成单位分为: 双标签与单标签推荐小写标签名 结构: 双标签示例代码: <marquee> My name is Kvein. </marquee>单标签示例代码: <input>标签的并列与嵌…