GESP认证C++编程真题解析 | 202312 六级

news/2026/1/19 17:30:47/文章来源:https://www.cnblogs.com/guolianggsta/p/19503018

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

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

适合人群:

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

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


编程题

P10108 闯关游戏

【题目来源】

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

【题目描述】

你来到了一个闯关游戏。

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

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

【输入】

第一行两个整数 \(N\)\(M\),分别表示关卡数量和每关的通道数量。

接下来一行 \(M\) 个用单个空格隔开的整数 \(a_0,a_1\cdots,a_{M-1}\)。保证 \(1\le a_i \le N\)

接下来一行 \(N\) 个用单个空格隔开的整数 \(b_0,b_1\cdots,b_{N-1}\)。保证 \(|b_i|\le 10^5\)

【输出】

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

【输入样例】

6 2
2 3
1 0 30 100 30 30

【输出样例】

131

【算法标签】

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

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 200005;  // 最大数组长度
int n, m;              // n: 天数, m: 药材种类数
int maxn = -1;         // 最大的生长天数
int a[N], b[N];        // a: 药材生长天数, b: 每天可种植的药材价值
int dp[N];             // dp[i]: 在第i天结束时的最大总价值int main()
{// 输入药材种类数和总天数cin >> m >> n;// 输入每种药材的生长天数for (int i = 1; i <= m; i++){cin >> a[i];maxn = max(maxn, a[i]);  // 记录最长的生长周期}// 输入每天可种植的药材价值for (int i = 1; i <= n; i++){cin >> b[i];}// 初始化dp数组为极小值memset(dp, -0x3f, sizeof(dp));dp[1] = 0;  // 第1天开始时,总价值为0// 动态规划// 注意:这里循环到n+maxn,因为药材可能在n天后成熟for (int i = 1; i <= n + maxn; i++){for (int j = 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天之间的最大值int ans = -1e9;for (int i = n + 1; i <= n + maxn; i++){ans = max(ans, dp[i]);}// 输出结果cout << ans << endl;return 0;
}

【运行结果】

6 2
2 3
1 0 30 100 30 30
131

P10109 工作沟通

【题目来源】

洛谷:[P10109 GESP202312 六级] 工作沟通 - 洛谷

【题目描述】

某公司有 \(N\) 名员工,编号从 \(0\)\(N-1\)。其中,除了 \(0\) 号员工是老板,其余每名员工都有一个直接领导。我们假设编号为 \(i\) 的员工的直接领导是 \(f_i\)

该公司有严格的管理制度,每位员工只能受到本人或直接领导或间接领导的管理。具体来说,规定员工 \(x\) 可以管理员工 \(y\),当且仅当 \(x=y\),或 \(x=f_y\),或 \(x\) 可以管理 \(f_y\)。特别地,\(0\) 号员工老板只能自我管理,无法由其他任何员工管理。

现在,有一些同事要开展合作,他们希望找到一位同事来主持这场合作,这位同事必须能够管理参与合作的所有同事。如果有多名满足这一条件的员工,他们希望找到编号最大的员工。你能帮帮他们吗?

【输入】

第一行一个整数 \(N\),表示员工的数量。

第二行 \(N - 1\) 个用空格隔开的正整数,依次为 \(f_1,f_2,\dots f_{N−1}\)

第三行一个整数 \(Q\),表示共有 \(Q\) 场合作需要安排。

接下来 \(Q\) 行,每行描述一场合作:开头是一个整数 \(m\)\(2 \le m \le N\)),表示参与本次合作的员工数量;接着是 \(m\) 个整数,依次表示参与本次合作的员工编号(保证编号合法且不重复)。

保证公司结构合法,即不存在任意一名员工,其本人是自己的直接或间接领导。

【输出】

输出 \(Q\) 行,每行一个整数,依次为每场合作的主持人选。

【输入样例】

5
0 0 2 2
3 
2 3 4
3 2 3 4
2 1 4 

【输出样例】

2
2 
0

【算法标签】

《洛谷 P10109 工作沟通》 #图论# #图遍历# #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 305;  // 最大节点数
int n, q;           // n: 节点数, q: 查询次数
vector<int> g[N];  // 邻接表存储树
bool st[N];        // 访问标记数组// 深度优先搜索,标记从u出发能到达的所有节点
void dfs(int u)
{st[u] = 1;  // 标记当前节点for (int i = 0; i < g[u].size(); i++){st[g[u][i]] = 1;     // 标记子节点dfs(g[u][i]);        // 递归遍历}
}int main()
{// 输入节点数cin >> n;// 输入树的n-1条边for (int i = 1; i < n; i++){int x;cin >> x;            // 节点i的父节点g[x].push_back(i);   // 建立从父节点x到子节点i的边}// 输入查询次数cin >> q;// 处理每个查询while (q--){int m;  // 查询中包含的节点数cin >> m;vector<int> ve;  // 存储查询节点// 输入查询节点for (int i = 1; i <= m; i++){int x;cin >> x;ve.push_back(x);}// 从大到小遍历节点编号for (int i = n - 1; i >= 0; i--){// 重置访问标记memset(st, 0, sizeof(st));// 从节点i开始DFS,标记所有可达节点dfs(i);// 检查是否所有查询节点都被标记bool flag = 1;for (int j = 0; j < ve.size(); j++){if (st[ve[j]] == false)  // 有节点未标记{flag = 0;break;}}// 如果所有查询节点都在i的子树中if (flag){cout << i << endl;  // 输出当前节点编号break;              // 找到答案,退出循环}}}return 0;
}

【运行结果】

5
0 0 2 2
3
2 3 4
2
3 2 3 4
2
2 1 4
0

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

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

相关文章

手把手教你五分钟打造属于自己的AI编程智能体!

一、当前编程模式的痛点 作为一名长期使用 AI 辅助编程的开发者&#xff0c;我发现了一个普遍存在的问题&#xff1a; 1.1 传统 AI 对话的局限性 除了使用 cursor、Trae、codebuddy 等工具外&#xff0c;在编程环节每次向 ChatGPT、Claude 等 AI 寻求编程帮助时&#xff0c;…

ISTA 6-AMAZON.COM-SIOC标准解析:包装测试的核心价值

一、标准核心信息 ISTA 6-AMAZON.COM-SIOC是ISTA与亚马逊合作开发的综合模拟测试协议&#xff0c;专为通过亚马逊配送系统、采用商品原包装发货&#xff08;SIOC&#xff09;的包装件设计。 该标准适用于8种包装类型&#xff08;A-H型&#xff09;&#xff0c;按亚马逊出货配…

2026西安专业新生儿起名机构推荐|高端家庭专属取名服务 - 品牌2025

对高端家庭而言,新生儿起名不仅是一次命名,更是一场承载家族期许、文化传承与人生祝福的重要仪式。一个寓意深远、音律优美、命理契合的名字,是父母赠予孩子伴随一生的珍贵礼物。在西安,越来越多注重品质与文化底蕴…

航空行业信息网络安全现状和需求

行业概述 随着航空系统网络化程度的提高&#xff0c;旅客订票系统、货物处理和运输、旅客登机和下机程序、空中交通管制系统、空中航行导航系统、飞行控制系统等系统之间的依赖性和关联性增强。其中任一系统的网络风险即可能导致连锁反应&#xff0c;造成难以弥补的经济损失和…

【人工智能】Cowork 是 Anthropic 推出的一个测试版桌面工具,专门为非开发人员设计,用于自动化文件和任务管理。

Cowork 是 Anthropic 推出的一个测试版桌面工具,专门为非开发人员设计,用于自动化文件和任务管理。 什么是 Cowork? Cowork 是一个桌面 AI 助手工具,你可以给它访问你电脑上的特定文件夹,它能够读取、编辑或创建文件。这不是普通的聊天对话,而是真正能帮你自主完成任务的…

密封性测试仪技术研究与应用分析报告

摘要 在多个工业领域中&#xff0c;包装的完整性直接关系到产品品质、安全性与货架寿命。密封性测试作为一项关键的质量控制手段&#xff0c;其技术的先进性与可靠性日益受到重视。本报告旨在系统阐述密封性测试仪的核心工作原理、技术发展现状、应用场景及实际价值&#xff0c…

SpringBoot注解参数校验,给代码穿上“防弹衣”

大家好&#xff0c;我是小悟。 一、参数校验&#xff1a;程序员的“防杠精神器” 假如你的API像个热情的饭店服务员&#xff0c;用户说“随便来点吃的”&#xff0c;你就真给他上了盘空气——这可不妙&#xff01;参数校验就像是那个会耐心问“要辣的还是不辣的&#xff1f;要牛…

筑牢智慧职教实训底座,无人机电力巡检 AI+虚仿 创新实训室特色架构

传统巡检模式依赖人工“爬塔走线”&#xff0c;不仅风险高、效率低&#xff0c;且实训多局限于理论教学&#xff0c;缺乏真实实操环境&#xff0c;难以系统提升技能水平。与此同时&#xff0c;低空经济兴起与科技持续推动&#xff0c;促使无人机电力巡检逐步成为行业主流&#…

每天一个网络知识:什么是MSTP?

在网络技术不断演进的今天&#xff0c;生成树协议&#xff08;Spanning Tree Protocol, STP&#xff09;作为防止二层环路的关键机制&#xff0c;早已成为网络工程师必须掌握的基础知识。然而&#xff0c;传统的STP存在资源利用率低、收敛速度慢等问题。为了解决这些问题&#…

氯离子计哪家性价比高?从上海仪电雷磁产品线看国产高性价比选择 - 品牌推荐大师1

在实验室和企业的设备采购中,“性价比”从来不是“谁价格低”那么简单,而是在满足技术要求、标准符合性、稳定性和售后服务的前提下,尽可能降低全生命周期成本。氯离子计也不例外。很多用户会发现:进口品牌虽然性能…

抖音团购入驻避坑指南:优选服务商合集 - 野榜数据排行

《2026 年中国本地生活服务行业发展白皮书》数据表明,2026 年国内本地生活服务市场规模成功突破 20 万亿大关。抖音团购凭借流量核心入口的优势,吸引大批商家争相入局,入驻需求年增长率超 60%。 不过,绝大多数商家…

预测一下,微软最终会推出一款以 Windows 为主题的 Linux 发行版

在技术圈里,有一个“周期性出现”的话题:微软最终会不会放弃 Windows NT 内核,转而基于 Linux 推出一个“Windows 发行版”。 三十年来,这个预测几乎每隔几年就会被重新拿出来鞭尸一次。 过去,这通常会被当作笑话。 但今天,随着 WSL2、Azure Linux(CBL-Mariner)、Li…

GESP认证C++编程真题解析 | 202312 五级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

str与[u8]区别

在Rust 开发实践中,理解 &str 与 &[u8] 的关系是处理高性能文本和网络协议的基础。 这两者本质上都是切片(Slice),即“指针 + 长度”,但它们在语义、验证和用途上有着严格的区别。 1. 核心区别对比表特性…

基于Python的外卖配送分析与可视化系统的设计与实现

随着大数据技术加速发展&#xff0c;数据分析与可视化成为各行业数字化转型的核心手段。外卖行业作为互联网经济支柱&#xff0c;积累了海量订单、用户行为及配送数据&#xff0c;如何高效分析并提升用户体验亟待解决。本研究聚焦“基于Python的外卖配送分析与可视化系统”&…

seaweedFs集群部署

SeaweedFS 分布式文件系统:全面解析与高可用部署指南 1. SeaweedFS 简介与核心优势 SeaweedFS(又称草鱼文件系统)是一款用 Go 语言开发的高性能、高可扩展的​分布式文件系统​,专为海量小文件存储而优化。它最初的…

2026年全屋定制品牌权威推荐榜:整体家居/定制柜类/环保定制/高端整装等源头实力厂家综合评估

诗尼曼在全国近2000家经销服务网点中,有一套高效供应链正在运行,从广州番禺的智能工厂到临沂、荆门的生产基地,他们构建起一个响应快速的全屋定制生态。近几年,诗尼曼展示的高净抗菌板连续三年通过育儿环境优标认证…

LangBot:五分钟打造你的专属IM机器人,支持10+聊天平台!

LangBot:五分钟打造你的专属IM机器人,支持10+聊天平台! LangBot 到底是什么? 简单说,它就是... LangBot 是一个开源的大语言模型原生即时通信机器人开发平台,简单来说,它就像一个“万能遥控器”,让你能够轻松连…

油品分析仪生产厂家,谁家的技术先进/实力强? - 品牌推荐大师

在石油化工及相关领域,油品分析仪作为保障产品质量、优化生产工艺的关键设备,其技术先进性与生产厂家的综合实力直接影响着行业的发展水平。在众多生产厂家中,北京杜克泰克科技有限公司凭借其卓越的技术和强大的实力…

实用指南:光谱共焦传感器 LTC2400/LTC4000F 对手机镜头镜片的圆角倒角厚度测量检测

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …