news 2026/4/18 8:03:29

GESP认证C++编程真题解析 | P10108 [GESP202312 六级] 闯关游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P10108 [GESP202312 六级] 闯关游戏

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[P10108 GESP202312 六级] 闯关游戏 - 洛谷

【题目描述】

你来到了一个闯关游戏。

这个游戏总共有N NN关,每关都有M MM个通道,你需要选择一个通道并通往后续关卡。其中,第i ii个通道可以让你前进a i a_iai关,也就是说,如果你现在在第x xx关,那么选择第i ii个通道后,你将直接来到第x + a i x+a_ix+ai关(特别地,如果x + a i ≥ N x + a_i \geq Nx+aiN,那么你就通关了)。此外,当你顺利离开第s ss关时,你还将获得b s b_sbs分。

游戏开始时,你在第0 00关。请问,你通关时最多能获得多少总分。

【输入】

第一行两个整数N NNM MM,分别表示关卡数量和每关的通道数量。

接下来一行M MM个用单个空格隔开的整数a 0 , a 1 ⋯ , a M − 1 a_0,a_1\cdots,a_{M-1}a0,a1,aM1。保证1 ≤ a i ≤ N 1\le a_i \le N1aiN

接下来一行N NN个用单个空格隔开的整数b 0 , b 1 ⋯ , b N − 1 b_0,b_1\cdots,b_{N-1}b0,b1,bN1。保证∣ b i ∣ ≤ 1 0 5 |b_i|\le 10^5bi105

【输出】

一行一个整数,表示你通关时最多能够获得的分数。

【输入样例】

6 2 2 3 1 0 30 100 30 30

【输出样例】

131

【算法标签】

《洛谷 P10108 闯关游戏》 #动态规划DP# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=200005;// 最大数组长度intn,m;// n: 天数, m: 药材种类数intmaxn=-1;// 最大的生长天数inta[N],b[N];// a: 药材生长天数, b: 每天可种植的药材价值intdp[N];// dp[i]: 在第i天结束时的最大总价值intmain(){// 输入药材种类数和总天数cin>>m>>n;// 输入每种药材的生长天数for(inti=1;i<=m;i++){cin>>a[i];maxn=max(maxn,a[i]);// 记录最长的生长周期}// 输入每天可种植的药材价值for(inti=1;i<=n;i++){cin>>b[i];}// 初始化dp数组为极小值memset(dp,-0x3f,sizeof(dp));dp[1]=0;// 第1天开始时,总价值为0// 动态规划// 注意:这里循环到n+maxn,因为药材可能在n天后成熟for(inti=1;i<=n+maxn;i++){for(intj=1;j<=m;j++){// 如果i-a[j]天是有效的(≥1)if(i-a[j]>=1){// 状态转移:在第i-a[j]天种植,在第i天收获dp[i]=max(dp[i],dp[i-a[j]]+b[i-a[j]]);}}}// 调试输出// for (int i=1; i<=n+maxn; i++)// cout << dp[i] << " ";// cout << endl;// 寻找最大价值// 只需要考虑n天之后到n+maxn天之间的最大值intans=-1e9;for(inti=n+1;i<=n+maxn;i++){ans=max(ans,dp[i]);}// 输出结果cout<<ans<<endl;return0;}

【运行结果】

6 2 2 3 1 0 30 100 30 30 131
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:04:48

【Java毕设源码分享】基于springboot+vue的的文学名著分享系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/18 3:48:34

传感器信号稳定传输:工业 EtherCAT 光纤隔离光端机

JM-Fiber-ECAT 光端机产品概述JM-Fiber-ECAT 光端机是捷米特自主研发创新的产品&#xff0c;专门为工业自动化控制系统、PLC/DCS 系统、信号测量及数据采集系统的现场各类设备而设计。这些设备包括各种 IO 设备、仪器仪表&#xff0c;以及输出 EtherCAT 信号的电压、电流、电量…

作者头像 李华
网站建设 2026/3/22 9:52:41

Modbus RTU 转 Modbus TCP:协议转换模块落地汽车电子生产跨协议通讯方案

一、项目背景某汽车电子零部件制造企业的生产线监测系统中&#xff0c;部署了 28 台 Modbus RTU 协议的传感器&#xff08;含温度、压力、振动传感器&#xff09;&#xff0c;分布于焊接工位、检测线、仓储区等关键区域&#xff0c;负责采集生产过程中的核心环境与设备参数。企…

作者头像 李华
网站建设 2026/4/17 15:24:54

收藏!大模型学习全攻略:从0起步到实战落地,小白/程序员专属

大模型技术的爆发&#xff0c;让越来越多的人看到了新的职业机遇&#xff0c;但学习过程中的迷茫、挫败&#xff0c;却让很多人望而却步。我的后台每天都被类似的求助刷屏&#xff0c;精准戳中了不同基础学习者的共同痛点&#xff1a; “纯小白想学家用大模型&#xff0c;不知道…

作者头像 李华
网站建设 2026/4/17 4:32:47

Open-AutoGLM如何重塑社区服务?90%人不知道的7个关键能力

第一章&#xff1a;Open-AutoGLM与未来社区服务的融合愿景Open-AutoGLM 作为新一代开源大语言模型框架&#xff0c;正逐步重塑智能社区服务的技术边界。其核心优势在于开放架构与自动化生成能力的深度融合&#xff0c;使得社区级应用能够以低门槛、高效率的方式实现个性化智能响…

作者头像 李华
网站建设 2026/4/16 12:11:31

【极地级可靠性】:Open-AutoGLM在-50℃环境下的7项系统级优化揭秘

第一章&#xff1a;Open-AutoGLM极地科考适配优化概述在极端环境下的科学考察任务中&#xff0c;人工智能模型的稳定运行与高效推理能力至关重要。Open-AutoGLM 作为一款面向多场景自适应的语言生成模型&#xff0c;在极地科考任务中展现出强大的潜力。其核心优势在于轻量化架构…

作者头像 李华