GESP2023年12月认证C++六级( 第三部分编程题(1)闯关游戏)










参考程序代码:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <map>
#include <iostream>
#include <cmath>
using namespace std;const int N = 10005; // 最大关卡数
const int M = 105; // 每关最大通道数
const int inf = 0x3f3f3f3f; // 一个很大的数,用于初始化int a[M], b[N], f[N]; // a[i]表示第i个通道的前进关卡数,b[i]表示离开第i关时的得分,f[i]表示到达第i关的最大得分int main() {int n, m;scanf("%d%d", &n, &m); // 读取关卡数和每关通道数for (int i = 1; i <= m; i++)scanf("%d", &a[i]); // 读取每个通道的前进关卡数(注意数组下标从1开始,方便处理)for (int i = 0; i < n; i++)scanf("%d", &b[i]); // 读取每关的得分memset(f, -0x3f, sizeof(f)); // 初始化f数组为一个很小的数,表示当前不可达状态f[0] = 0; // 初始状态,第0关可达,得分为0// 动态规划状态转移for (int i = 1; i < n; i++)for (int j = 1; j <= m; j++)if (i - a[j] >= 0) // 检查是否能从前面的某一关到达当前关f[i] = max(f[i], f[i - a[j]] + b[i - a[j]]); // 更新最大得分int ans = -inf; // 初始化最大得分为一个很小的数// 查找最大得分for (int i = 0; i < n; i++)for (int j = 1; j <= m; j++)if (i + a[j] >= n) { // 检查是否能到达最后一关或之后的关卡ans = max(ans, f[i] + b[i]); // 更新最大得分(注意这里应该加上b[n-1]之后的得分,但为了方便处理,且题目保证通关时不再额外得分,这里简化为b[i])break; // 找到一个可行解后即可跳出内层循环}cout << ans << endl; // 输出最大得分return 0;
}
参考程序2代码:
#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>using namespace std;const int INF = 0x3f3f3f3f;int main() {int n, m;cin >> n >> m;vector<int> a(m); // 每个通道可以前进的关卡数for (int i = 0; i < m; ++i) {cin >> a[i];}vector<int> b(n); // 每关离开时获得的分数for (int i = 0; i < n; ++i) {cin >> b[i];}// f[i] 表示到达第 i 关时的最大分数vector<int> f(n, -INF);f[0] = 0; // 初始状态// 动态规划状态转移for (int i = 1; i < n; ++i) {for (int j = 0; j < m; ++j) {if (i - a[j] >= 0) {f[i] = max(f[i], f[i - a[j]] + b[i - a[j]]);}}}// 计算最终答案int ans = -INF;for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (i + a[j] >= n) {ans = max(ans, f[i] + b[i]);break;}}}cout << ans << endl;return 0;
}
相关文章:
GESP2023年12月认证C++六级( 第三部分编程题(1)闯关游戏)
参考程序代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> using namespace std;const int N 10…...
git 新项目
新项目git 新建的项目如何进行git 配置git git config --global user.name "cc" git config --global user.email ccexample.com配置远程仓库路径 // 添加 git remote add origin http://gogs/cc/mc.git //如果配错了,删除 git remote remove origin初…...
系统URL整合系列视频一(需求方案)
视频 系统URL整合系列视频一(需求方案) 视频介绍 (全国)某大型分布式系统Web资源URL整合需求实现方案讲解。当今社会各行各业对软件系统的web资源访问权限控制越来越严格,控制粒度也越来越细。安全级别提高的同时也增…...
Vue.js 使用组件库构建 UI
Vue.js 使用组件库构建 UI 在 Vue.js 项目中,构建漂亮又高效的用户界面(UI)是很重要的一环。组件库就是你开发 UI 的好帮手,它可以大大提高开发效率,减少重复工作,还能让你的项目更具一致性和专业感。今天…...
计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战
前一篇文章,Tensor 基本操作5 device 管理,使用 GPU 设备 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started PyTorch 计算图和 Autograd 微积分之于机器学习Computational Graphs 计算图Autograd…...
51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时;while循环;unsigned char 可以表示的数字是0~255)
本篇介绍编程实现LED灯闪烁,需要学到一些新的C语言知识。由于单片机执行的速度是非常快的,如果不进行延时的话,人眼是无法识别(停留时间要大于20ms)出LED灯是否在闪烁所以需要学习如何实现软件延时。另外IO口与一个字节位的数据对应关系。 文…...
如何获取sql数据中时间的月份、年份(类型为date)
可用自带的函数month来实现 如: 创建表及插入数据: create table test (id int,begindate datetime) insert into test values (1,2015-01-01) insert into test values (2,2015-02-01) 执行sql语句,获取月份: select MONTH(begindate)…...
【单层神经网络】softmax回归的从零开始实现(图像分类)
softmax回归 该回归分析为后续的多层感知机做铺垫 基本概念 softmax回归用于离散模型预测(分类问题,含标签) softmax运算本质上是对网络的多个输出进行了归一化,使结果有一个统一的判断标准,不必纠结为什么要这么算…...
使用开源项目:pdf2docx,让PDF转换为Word
目录 1.安装python 2.安装 pdf2docx 3.使用 pdf2docx 转换 PDF 到 Word pdf2docx:GitCode - 全球开发者的开源社区,开源代码托管平台 环境:windows电脑 1.安装python Download Python | Python.org 最好下载3.8以上的版本 安装时记得选择上&#…...
保姆级教程Docker部署KRaft模式的Kafka官方镜像
目录 一、安装Docker及可视化工具 二、单节点部署 1、创建挂载目录 2、运行Kafka容器 3、Compose运行Kafka容器 4、查看Kafka运行状态 三、集群部署 四、部署可视化工具 1、创建挂载目录 2、运行Kafka-ui容器 3、Compose运行Kafka-ui容器 4、查看Kafka-ui运行状态 …...
ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识
ChatGPT除了可以协助办公,写作文案和生成短视频脚本外,和还可以做为一个法律工具,当用户面临一些法律知识盲点时,可以向ChatGPT咨询获得解答。赋予ChatGPT专家的身份,用户能够得到较为满意的解答。 1.咨询法律知识 举…...
openRv1126 AI算法部署实战之——Tensorflow模型部署实战
在RV1126开发板上部署Tensorflow算法,实时目标检测RTSP传输。视频演示地址 rv1126 yolov5 实时目标检测 rtsp传输_哔哩哔哩_bilibili 一、准备工作 从官网下载tensorflow模型和数据集 手动在线下载: https://github.com/tensorflow/models/b…...
STM32 TIM定时器配置
TIM简介 TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能ÿ…...
51单片机 05 矩阵键盘
嘻嘻,LCD在RC板子上可以勉强装上,会有一点歪。 一、矩阵键盘 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式;采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态。…...
SSRF 漏洞利用 Redis 实战全解析:原理、攻击与防范
目录 前言 SSRF 漏洞深度剖析 Redis:强大的内存数据库 Redis 产生漏洞的原因 SSRF 漏洞利用 Redis 实战步骤 准备环境 下载安装 Redis 配置漏洞环境 启动 Redis 攻击机远程连接 Redis 利用 Redis 写 Webshell 防范措施 前言 在网络安全领域࿰…...
kubernetes学习-配置管理(九)
一、ConfigMap (1)通过指定目录,创建configmap # 创建一个config目录 [rootk8s-master k8s]# mkdir config[rootk8s-master k8s]# cd config/ [rootk8s-master config]# mkdir test [rootk8s-master config]# cd test [rootk8s-master test…...
python 语音识别
目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…...
一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署
前言 自从deepseek R1发布之后「详见《一文速览DeepSeek R1:如何通过纯RL训练大模型的推理能力以比肩甚至超越OpenAI o1(含Kimi K1.5的解读)》」,deepseek便爆火 爆火以后便应了“人红是非多”那句话,不但遭受各种大规模攻击,即便…...
[mmdetection]fast-rcnn模型训练自己的数据集的详细教程
本篇博客是由本人亲自调试成功后的学习笔记。使用了mmdetection项目包进行fast-rcnn模型的训练,数据集是自制图像数据。废话不多说,下面进入训练步骤教程。 注:本人使用linux服务器进行展示,Windows环境大差不差。另外࿰…...
1. Kubernetes组成及常用命令
Pods(k8s最小操作单元)ReplicaSet & Label(k8s副本集和标签)Deployments(声明式配置)Services(服务)k8s常用命令Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被…...
前端测试:别让你的代码在上线后崩溃
前端测试:别让你的代码在上线后崩溃 毒舌时刻这代码写得跟定时炸弹似的,不知道什么时候就炸了。各位前端同行,咱们今天聊聊前端测试。别告诉我你还在手动测试,那感觉就像在没有安全网的情况下走钢丝——能走,但随时可能…...
Windows系统信息导出全攻略:从msinfo32生成报告到用PowerShell定制你的专属硬件清单
Windows系统信息自动化采集与定制化报告实战指南 对于IT资产管理专员和技术团队而言,准确获取终端设备的硬件配置信息是软件许可合规、资产盘点和故障排查的基础工作。传统的手动记录方式效率低下且容易出错,而Windows内置的msinfo32工具生成的报告又过于…...
如何一键获取国家中小学智慧教育平台所有电子课本?这个智能下载工具给你答案
如何一键获取国家中小学智慧教育平台所有电子课本?这个智能下载工具给你答案 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为繁琐的教材下载流程…...
R200系列超高频读写器:从指令集到实战的物联网资产管理开发指南
1. R200系列读写器:物联网资产管理的利器 第一次接触R200系列读写器时,我就被它的多标签识读能力惊艳到了。这款超高频(UHF)读写器不仅支持840MHz~960MHz频段,还能在30米范围内同时读取上百张RFID标签,这简…...
GraphRAG大揭秘:微软如何用知识图谱让AI问答更精准,效率翻倍!
微软推出的GraphRAG通过引入知识图谱技术,有效解决了传统RAG在信息连接和归纳总结上的不足。GraphRAG利用大模型构建知识图谱,实现实体和关系的结构化表示,显著提升答案的准确度与完整性,并支持多跳推理。文章详细介绍了知识图谱的…...
5分钟解决PDF转Markdown痛点:Marker工具全场景应用指南
5分钟解决PDF转Markdown痛点:Marker工具全场景应用指南 【免费下载链接】marker 一个高效、准确的工具,能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式,支持多语言和复杂布局处理,可选集成 LLM 提升精度,适…...
IEC102协议报文解析:从格式到传输的实战指南
1. IEC102协议基础入门:电力系统的"语言密码" 第一次接触IEC102协议时,我完全被那些十六进制代码和术语搞晕了。直到有一次在变电站调试电表,看到主站和终端设备用这种"暗号"流畅对话,才真正理解它的价值。简…...
获取应用内部JMX统计信息的编程方法
本文介绍了如何在Java应用程序中编程JMX(Java Management Extensions)统计信息,无需建立远程连接或使用外部JMX客户端。通过直接访问MBeanServer,您可以查询和获取应用程序中的各种性能指标和管理信息,如Kafka消费者组…...
从‘饱和度’到‘肤色正常’:深入理解CCM色彩校正矩阵的调试逻辑与参数关系
从‘饱和度’到‘肤色正常’:深入理解CCM色彩校正矩阵的调试逻辑与参数关系 在数字图像处理领域,色彩校正矩阵(Color Correction Matrix,CCM)的调试一直是工程师们面临的技术难点之一。不同于简单的参数调整࿰…...
PowerPaint-V1 Gradio 新手入门指南:3步搞定图片修复,小白也能变大神
PowerPaint-V1 Gradio 新手入门指南:3步搞定图片修复,小白也能变大神 1. 为什么选择PowerPaint-V1? 如果你经常需要处理图片中的瑕疵、水印或者想替换某些元素,PowerPaint-V1绝对是你的得力助手。这个由字节跳动与香港大学联合研…...
