news 2026/2/9 17:54:21

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/2/7 20:38:04

MinGW-w64终极配置指南:Windows开发环境快速搭建

MinGW-w64终极配置指南&#xff1a;Windows开发环境快速搭建 【免费下载链接】mingw-w64 (Unofficial) Mirror of mingw-w64-code 项目地址: https://gitcode.com/gh_mirrors/mi/mingw-w64 对于希望在Windows平台上进行C/C开发的程序员来说&#xff0c;MinGW-w64是一个不…

作者头像 李华
网站建设 2026/2/8 11:42:33

PESCMS Ticket开源客服工单系统终极快速部署完整指南

PESCMS Ticket开源客服工单系统终极快速部署完整指南 【免费下载链接】PESCMS-Ticket PESMCS Ticket (下称PT) 是一款基于 GPLv2 协议发布的开源客服工单系统。 项目地址: https://gitcode.com/gh_mirrors/pe/PESCMS-Ticket 还在为客服效率低下而烦恼吗&#xff1f;想找…

作者头像 李华
网站建设 2026/2/8 14:17:58

免费PDF文献翻译神器CopyTranslator:科研党必备的终极解决方案

免费PDF文献翻译神器CopyTranslator&#xff1a;科研党必备的终极解决方案 【免费下载链接】CopyTranslator 项目地址: https://gitcode.com/gh_mirrors/cop/CopyTranslator 还在为PDF文献翻译的格式问题烦恼吗&#xff1f;CopyTranslator作为一款专业的复制即翻译工具…

作者头像 李华
网站建设 2026/2/5 1:08:53

Dart Simple Live全平台自动化部署终极指南:从零构建高效CI/CD流水线

Dart Simple Live全平台自动化部署终极指南&#xff1a;从零构建高效CI/CD流水线 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 在跨平台应用开发领域&#xff0c;多平台部署一直是团队协作的…

作者头像 李华
网站建设 2026/2/8 0:16:20

FF14钓鱼终极神器:渔人的直感完整使用攻略

还在为FF14钓鱼时频繁错过关键咬钩时机而烦恼吗&#xff1f;渔人的直感是一款专为最终幻想14钓鱼爱好者精心打造的智能计时辅助工具&#xff0c;通过精准监控游戏状态并提供实时视觉与听觉提示&#xff0c;让您的钓鱼之旅从此告别手忙脚乱&#xff01;这款免费工具能够自动识别…

作者头像 李华
网站建设 2026/2/5 15:31:20

PCB设计案例入门必看:5个基础电路板设计实例解析

从零开始搞懂PCB设计&#xff1a;5个真实项目带你打通电子工程任督二脉你是不是也有过这样的经历&#xff1f;原理图画得挺顺&#xff0c;仿真波形也好看&#xff0c;结果一打样回来&#xff0c;板子就是不工作——MCU不启动、屏幕乱码、Wi-Fi频繁断连……最后只能对着电路板发…

作者头像 李华