news 2026/4/18 2:02:20

GESP认证C++编程真题解析 | P10376 [GESP202403 六级] 游戏

作者头像

张小明

前端开发工程师

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

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

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

适合人群:

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

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


【题目来源】

洛谷:[P10376 GESP202403 六级] 游戏 - 洛谷

【题目描述】

你有四个正整数n , a , b , c n,a,b,cn,a,b,c,并准备用它们玩一个简单的小游戏。

在一轮游戏操作中,你可以选择将n nn减去a aa,或是将n nn减去b bb。游戏将会进行多轮操作,直到当n ≤ c n \leq cnc时游戏结束。

你想知道游戏结束时有多少种不同的游戏操作序列。两种游戏操作序列不同,当且仅当游戏操作轮数不同,或是某一轮游戏操作中,一种操作序列选择将n nn减去a aa,而另一种操作序列选择将n nn减去b bb。如果a = b a=ba=b,也认为将n nn减去a aa与将n nn减去b bb是不同的操作。

由于答案可能很大,你只需要求出答案对10 9 + 7 10^9 + 7109+7取模的结果。

【输入】

一行四个整数n , a , b , c n,a,b,cn,a,b,c

【输出】

输出一行一个整数表示答案。

【输入样例】

1 1 1 1

【输出样例】

1

【算法标签】

《洛谷 P10376 游戏》 #动态规划DP# #深度优先搜索DFS# #记忆化搜索# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintmod=1e9+7;// 模数constintN=2e5+5;// 最大范围intn,a,b,c,ans;// n: 初始值, a,b: 减少值, c: 目标范围上限, ans: 答案intf[N<<1];// DP数组,大小为2N,通过+N来避免负数下标intmain(){// 输入参数cin>>n>>a>>b>>c;// 初始化:从n开始有1种方案f[n+N]=1;// 为了防止下标为负数,统一加N偏移量// 从n向下递推到c+1for(inti=n;i>c;i--){// 转移方程1:从i可以通过减a到达i-af[i-a+N]=(f[i-a+N]+f[i+N])%mod;// f[i-a] += f[i]// 转移方程2:从i可以通过减b到达i-bf[i-b+N]=(f[i-b+N]+f[i+N])%mod;// f[i-b] += f[i]}// 统计f[0]到f[c]的所有方案数之和for(inti=0;i<=N+c;i++)// 注意:这里应该是i <= c,但代码中有偏移{// 实际上,由于偏移N,f[i]对应原f[i-N]// 循环中的i是实际下标,需要减去N// 但代码直接累加f[i],这意味着i的范围是0到N+c// 这似乎有问题ans=(ans+f[i])%mod;}// 输出结果cout<<ans<<endl;return0;}

【运行结果】

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

CS2_External外部注入框架架构解析与实现原理

CS2_External外部注入框架架构解析与实现原理 【免费下载链接】CS2_External CS2 external cheat. 项目地址: https://gitcode.com/gh_mirrors/cs/CS2_External CS2_External作为一款专业的CS2游戏外部辅助开发框架&#xff0c;采用模块化架构设计&#xff0c;通过外部注…

作者头像 李华
网站建设 2026/4/15 10:18:10

仅限高级工程师掌握的Open-AutoGLM调试技巧(90%人不知道的隐藏功能)

第一章&#xff1a;Open-AutoGLM调试技巧的认知革命在人工智能模型开发的演进中&#xff0c;Open-AutoGLM 的出现标志着自动化生成语言模型调试进入新纪元。传统调试方式依赖人工日志分析与静态断点&#xff0c;效率低下且难以应对复杂推理链路。而 Open-AutoGLM 引入了动态上下…

作者头像 李华
网站建设 2026/4/18 8:29:09

【Open-AutoGLM浏览器性能优化秘籍】:3步实现毫秒级响应与零延迟交互

第一章&#xff1a;Open-AutoGLM浏览器性能优化概述Open-AutoGLM 是一个基于 AutoGLM 架构的开源浏览器自动化框架&#xff0c;专注于提升网页加载效率、资源调度与脚本执行性能。该框架通过智能预加载、DOM 操作优化和异步任务编排&#xff0c;显著降低页面响应延迟&#xff0…

作者头像 李华
网站建设 2026/4/18 8:44:43

专业级Windows硬件伪装工具:全面保护您的数字隐私

专业级Windows硬件伪装工具&#xff1a;全面保护您的数字隐私 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER 在当今数字化时代&#xff0c;硬件指纹追踪已成为威胁个人隐私的重要…

作者头像 李华
网站建设 2026/4/18 10:58:18

3步搞定RTL8821CU无线网卡Linux驱动:从零到高速连接

3步搞定RTL8821CU无线网卡Linux驱动&#xff1a;从零到高速连接 【免费下载链接】rtl8821CU Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for Linux 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8821CU 还在为RTL8821CU无线网卡在Linux系统上无法正常工…

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

GPT-SoVITS能否还原口音特征?方言模拟实验

GPT-SoVITS能否还原口音特征&#xff1f;方言模拟实验 在语音合成技术飞速发展的今天&#xff0c;一个令人着迷的问题逐渐浮现&#xff1a;机器能否真正“听懂”一个人说话的“味道”——不只是声音像不像&#xff0c;而是连他从小养成的口音、语调、甚至那股子地方腔调都能原样…

作者头像 李华