news 2026/2/26 0:03:33

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/14 20:30:34

仅需4步!快速完成Open-AutoGLM本地部署,效率提升300%

第一章&#xff1a;Open-AutoGLM 本地部署概述Open-AutoGLM 是一个开源的自动化代码生成与推理框架&#xff0c;基于 GLM 架构实现本地化部署支持&#xff0c;适用于企业级代码辅助开发、智能文档生成等场景。其核心优势在于可在隔离网络环境中运行&#xff0c;保障数据隐私的同…

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

OrCAD下载前必备准备项:小白指南避坑清单

OrCAD下载前必须搞懂的几件事&#xff1a;新手避坑全攻略 你是不是也曾在搜索引擎里输入“ orcad下载 ”&#xff0c;然后点进各种五花八门的链接&#xff0c;结果下到一半断了、安装时报错一堆、启动直接闪退&#xff1f;别急&#xff0c;这真不是你的电脑不行——而是你在…

作者头像 李华
网站建设 2026/2/25 5:19:51

为什么高手都在用这个Open-AutoGLM安装方法?(内部资料首次公开)

第一章&#xff1a;Open-AutoGLM 安装的核心价值Open-AutoGLM 作为一款面向自动化自然语言处理任务的开源框架&#xff0c;其安装过程不仅是技术接入的第一步&#xff0c;更是实现高效模型部署与定制化开发的关键环节。正确的安装策略能够确保系统兼容性、依赖管理清晰以及后续…

作者头像 李华
网站建设 2026/2/17 5:28:43

【大模型自动化新突破】:Open-AutoGLM沉思究竟有多强?

第一章&#xff1a;Open-AutoGLM沉思究竟有多强&#xff1f; Open-AutoGLM 是近期开源社区中备受关注的自动化推理模型&#xff0c;其核心能力在于结合大语言模型&#xff08;LLM&#xff09;与任务自分解机制&#xff0c;实现复杂问题的多步推理与执行。该模型不仅具备强大的自…

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

树莓派5上使用PyTorch进行人脸追踪的NPU加速完整示例

在树莓派5上用PyTorch实现人脸追踪&#xff0c;还能跑NPU加速&#xff1f;实测可行&#xff01; 你有没有想过&#xff0c;在一块不到500元的开发板上&#xff0c;也能跑起深度学习模型做 实时人脸追踪 &#xff1f; 不是靠云端、不依赖PC&#xff0c;就在本地完成检测与跟…

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

FF14智能钓鱼计时器:终极使用指南与技巧大全

FF14智能钓鱼计时器&#xff1a;终极使用指南与技巧大全 【免费下载链接】Fishers-Intuition 渔人的直感&#xff0c;最终幻想14钓鱼计时器 项目地址: https://gitcode.com/gh_mirrors/fi/Fishers-Intuition 还在为FF14钓鱼时错过关键时机而烦恼吗&#xff1f;这款智能钓…

作者头像 李华