AcWing 312. 乌龟棋

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

乌龟棋的棋盘只有一行,该行有 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 个整数,表示小明最多能得到的分数。

数据范围
1≤N≤350,
1≤M≤120,
0≤ai≤100,
1≤bi≤4,
每种爬行卡片的张数不会超过40。

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

代码如下:

#include <iostream>
using namespace std;
const int N = 42;
int f[N][N][N][N];
int b[355];
int score[355];
int main()
{int n,m;cin>>n>>m;for (int i = 0;i<n;i++) cin>>score[i];for (int i = 0;i<m;i++){int x;cin>>x;b[x]++;}f[0][0][0][0] = score[0];for (int A = 0;A<=b[1];A++)for (int B = 0;B<=b[2];B++)for (int C = 0;C<=b[3];C++)for (int D = 0;D<=b[4];D++){int s = score[A*1+B*2+C*3+D*4];int &t = f[A][B][C][D];if (A)  t = max(t,f[A-1][B][C][D]+s);if (B) t = max(t,f[A][B-1][C][D]+s);if (C) t = max(t,f[A][B][C-1][D]+s);if (D) t = max(t,f[A][B][C][D-1]+s);}cout<<f[b[1]][b[2]][b[3]][b[4]]<<endl;
}

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

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

相关文章

WTM系列视频教程:先导篇

WTM系列视频教程序章文字摘要&#xff1a;“这个视频教程我列了个提纲&#xff0c;分成12部分&#xff0c;比较详细的介绍了WTM的功能和使用方法。另外还有一些我个人对于编程的理解&#xff0c;当然个人理解这部分你们就当故事听&#xff0c;不一定对&#xff0c;哈哈。”“有…

我的领域驱动设计运用实例 - 领域啊领域

一、前言断断续续的也有在闲余时间接触领域驱动设计的相关知识&#xff0c;因为目前在工作中更多的还只是一名 crud boy&#xff0c;因此目前也只是对其中的某些知识点有知晓&#xff0c;实际使用的比较少&#xff0c;仅此而已。因此&#xff0c;趁着这个春节假期&#xff0c;整…

AcWing 503. 借教室

代码如下&#xff1a; #include <iostream> using namespace std; const int N 1000010; int r[N],d[N],s[N],t[N]; typedef long long LL; LL b[N]; int n,m; bool check(int mid) {for (int i 1;i<n;i) b[i] r[i]-r[i-1];for (int i 1;i<mid;i){b[s[i]]-d[i…

远程办公从学习开始,潜伏在家,技术如何逆袭?

今年的春节假期特别长&#xff0c;大家为了能够尽快结束武汉新冠肺炎&#xff0c;自主隔离在家。我也花了大概三天的时间写了一篇总结我公司当前支持远程办公的文章&#xff1a;远程办公经验为0&#xff0c;如何将日常工作平滑过度到线上? 这篇文章使用的全部是腾讯的产品&…

AcWing 499. 聪明的质监员

解题思路&#xff1a; https://www.acwing.com/solution/content/33961/ 代码如下&#xff1a; #include <iostream> using namespace std; const int N 200010; int w[N],v[N],L[N],R[N]; typedef long long LL; LL cnt[N],b[N]; int n,m; LL S; LL get_Y(int mid) {…

也读《人类简史》:从动物到上帝的智人

【读书笔记】| 作者 / Edison Zhou这是恰童鞋骚年的第178篇原创文章《人类简史&#xff1a;从动物到上帝》是一本评分极高的书&#xff0c;我在春节期间阅读完&#xff0c;信息量极大&#xff0c;现在将其重点内容总结整理成此文&#xff0c;分享与你。1关于《人类简史》《人类…

二分边界

转载地址&#xff1a; https://www.acwing.com/solution/content/33961/

重磅 | GitHub 2019 数字年报全文正式发布

摘要在开源日益重要的今天&#xff0c;我们需要一份建立在全域大数据基础上的相对完整、可以反复进行推演的数据报告&#xff08;报告、数据、算法均需开源&#xff09;。本项目为X-lab 开放实验室团队发起&#xff0c;旨在通过分析Github全网的开发者行为日志&#xff0c;通过…

[蓝桥杯2019初赛]平方和-模拟+数论(水题)

题目描述 小明对数位中含有2、0、1、9 的数字很感兴趣&#xff0c;在1 到40 中这样的数包 括1、2、9、10 至32、39 和40&#xff0c;共28 个&#xff0c;他们的和是574&#xff0c;平方和是14362。 注意&#xff0c;平方和是指将每个数分别平方后求和。 请问&#xff0c;在1 到…

dotnet 从零开始写一个人工智能 网络模型

本文将不使用任何人工智能框架&#xff0c;只用简单的 dotnet 的类&#xff0c;自己搭建一个人工智能网络。本文适合小伙伴跟着一步步写特别感谢老马的程序人生的帮助&#xff0c;本文有大量代码都是从如何利用 C# 抽象神经网络模型抄的在人工智能模型有不同的问题可以选用不同…

[蓝桥杯2019初赛]数列求值-模拟+数论

题目描述 给定数列1, 1, 1, 3, 5, 9, 17, …&#xff0c;从第4 项开始&#xff0c;每项都是前3 项的和。求 第20190324 项的最后4 位数字。 代码如下&#xff1a; #include <iostream> using namespace std; const int N 20190334; int a[N];int main() {a[1] 1;a[2]…

深度学习之tensorflow环境搭建

深度学习之tensorflow环境搭建&#xff1a; 1.搭建的步骤 1-1.破解版的Pycharm软件包下载 1-2.Ananconda软件包的下载 1-3.使用Anaconda Prompt 命令&#xff0c;首先输入 “conda create -n py37 python3.7 anaconda” 然后回车等待包的下载&#xff0c;其次激活py37&am…

SkyWalking学习笔记(CentOS环境)

基于 CentOS 环境使用 SkyAPM-dotnet 来介绍一下 SkyWalking&#xff0c; SkyAPM-dotnet 是 SkyWalking 的 .NET Agent环境要求JDK8Elasticsearch8080,9200,10800,11800,12800 端口不被占用Elasticsearch安装Elasticsearch下载安装(CentOS为例) 参考官方教程.下载并安装公共签名…

基于llama-index对embedding模型进行微调

QA对话目前是大语言模型的一大应用场景&#xff0c;在QA对话中&#xff0c;由于大语言模型信息的滞后性以及不包含业务知识的特点&#xff0c;我们经常需要外挂知识库来协助大模型解决一些问题。在外挂知识库的过程中&#xff0c;embedding模型的召回效果直接影响到大模型的回答…

[蓝桥杯2019初赛]最大降雨量-模拟

题目描述 由于沙之国长年干旱&#xff0c;法师小明准备施展自己的一个神秘法术来求雨。 这个法术需要用到他手中的49 张法术符&#xff0c;上面分别写着1 至49 这49 个数字。 法术一共持续7 周&#xff0c;每天小明都要使用一张法术符&#xff0c;法术符不能重复使用。 每周&a…

用户登录的电话号码和密码进行测试PythonGUI实验

用户登录的电话号码和密码进行测试PythonGUI实验&#xff1a; 1.要求&#xff1a;对用户登录的电话号码和密码进行测试 2.电话号码&#xff1a;分为首字母不为0&#xff0c;长度必须为11为&#xff0c;类型全部为数字 3.密码&#xff1a;分为长度为6-12位&#xff0c;类型为AS…

武汉坚守第十二日——爆发期的困守待破

已经到了第十二天&#xff0c;不能出门的日子&#xff0c;浑身都是难受的&#xff0c;尤其对于我这样一个日常一天要步行10公里每年4000公里步行的人来说&#xff0c;坚持了四年的习惯变成这样&#xff0c;真心不舒服&#xff0c;于是在室内开始了一些自救——自救运动&#xf…

[蓝桥杯2019初赛]完全二叉树的权值-完全二叉树的性质

注意: j < n不能少!!! 代码如下&#xff1a; #include <iostream> using namespace std; const int N 100010; typedef long long LL; int a[N];int main() {int n;LL maxv -1e18;cin >> n;int depth 0;for (int i 1; i < n; i)cin >> a[i];for …

机器学习前的热身(必备)

机器学习前的热身&#xff08;必备&#xff09; 备注&#xff1a; 本内容参考李航的《统计学习方法第二版》第一章 注&#xff1a;如果本篇内容存在错误&#xff0c;望大家留言批评指正。

WTM系列视频教程:初体验

WTM系列视频教程第一章&#xff1a;初体验文字摘要&#xff1a;“如果你没用过wtm&#xff0c;今天的教程肯定能让你眼前一亮&#xff0c;这个框架竟然这么牛逼么&#xff1f;开发速度这么快么&#xff1f;”“至于为什么叫WTM&#xff0c;他的全称是WalkingTec MVVM&#xff0…