当前位置: 首页 > news >正文

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

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

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

适合人群:

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

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


编程题

B3925 小猫分鱼

【题目来源】

洛谷:[B3925 GESP202312 三级] 小猫分鱼 - 洛谷

【题目描述】

海滩上有一堆鱼,\(N\) 只小猫来分。第一只小猫把这堆鱼平均分为 \(N\) 份,多了 \(i<N\) 个,这只小猫把多的 \(i\) 个扔入海中,拿走了一份。第二只小猫接着把剩下的鱼平均分成 \(N\) 份,又多了 \(i\) 个,小猫同样把多的 \(i\) 个扔入海中,拿走了一份。第三、第四、……,第 \(N\) 只小猫仍是最终剩下的鱼分成 \(N\) 份,扔掉多了的 \(i\) 个,并拿走一份。

编写程序,输入小猫的数量 \(N\) 以及每次扔到海里的鱼的数量 \(i\),输出海滩上最少的鱼数,使得每只小猫都可吃到鱼。

例如:两只小猫来分鱼 \(N=2\),每次扔掉鱼的数量为 \(i=1\),为了每只小猫都可吃到鱼,可令第二只小猫需要拿走 \(1\) 条鱼,则此时待分配的有 \(3\) 条鱼。第一只小猫待分配的鱼有 \(3\times 2+1=7\) 条。

【输入】

总共 \(2\) 行。第一行一个整数 \(N\),第二行一个整数 \(i\)

保证 \(0<N<10\)\(i<N\)

【输出】

一行一个整数,表示满足要求的海滩上最少的鱼数。

【输入样例】

2
1

【输出样例】

7

【算法标签】

《洛谷 B3925 小猫分鱼》 #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int n, i;  // n: 总人数, i: 最后一个人的编号/*** 检查给定的s(分给第一个人的数量)是否有效* 并计算最后剩下的人数* @param s 分给第一个人的数量* @return 如果有效返回最后人数,否则返回0*/
int check(int s)
{// 第一次分配后剩下的人数int k = s * n + i;// 模拟n-1次分配(因为第一次已经分配了)for (int x = 2; x <= n; x++){// 检查是否能被n-1整除if (k % (n - 1) != 0){return 0;  // 不能整除,无效}// 更新k为下一次分配前的人数k = k / (n - 1) * n + i;}// 返回最后剩下的人数return k;
}int main()
{// 输入总人数n和最后一个人的编号icin >> n >> i;// 特殊情况:n=1if (n == 1){cout << 1 << endl;  // 只有一个人,分给自己return 0;}// 从s=1开始尝试int s = 1;while (true){int ans = check(s);if (ans > 0)  // 找到有效解{cout << ans << endl;break;}s++;  // 尝试下一个s}return 0;
}

【运行结果】

2
1
7

B3926 单位转换

【题目来源】

洛谷:[B3926 GESP202312 三级] 单位转换 - 洛谷

【题目描述】

小杨这周的数学作业是做单位转换,喜欢编程的小杨决定编程帮他解决这些问题。

小杨只学了长度单位和重量单位,具体来说:

  • 长度单位包括千米(km)、米(m)、毫米(mm),它们之间的关系是:\(1\text{km} = 1000\text{m} = 1000000\text{mm}\)
  • 重量单位包括千克(kg)、克(g)、毫克(mg),它们之间的关系是:\(1\text{kg} = 1000\text{g} = 1000000\text{mg}\)

小杨的作业只涉及将更大的单位转换为更小的单位,也就是说,小杨的作业只会包含如下题型:米转换为毫米,千米转换为毫米,千米转换为米,克转换为毫克,千克转换为毫克,千克转换为克。

现在,请你帮忙完成单位转换的程序。

【输入】

输入的第一行为一个整数,表示题目数量。

接下来 \(N\) 行,每行一个字符串,表示转换单位的题目,格式为 \(x\) 单位 \(1 = ?\) 单位 \(2\)。其中,\(x\) 为一个不超过 \(1000\) 的非负整数, 单位 \(1\) 和 单位 \(2\) 分别为两个单位的英文缩写,保证它们都是长度单位或都是重量单位,且 单位 1单位 2 更大。

例如,如果题目需要你将 \(1\text{km}\) 转换为 \(\text{mm}\),则输入为 1 km = ? mm

保证 \(1\le N \le 1000\)

【输出】

输出 \(N\) 行,依次输出所有题目的答案,输出时,只需要将输入中的 \(?\) 代入答案,其余部分一字不差地输出即可。由于小杨的题目只涉及将更大的单位转换为更小的单位,并且输入的 \(x\) 是整数,因此答案一定也是整数。

例如,如果题目需要你将 \(1\text{km}\) 转换为 \(\text{mm}\),则输入为 1 km = ? mm。则你需要输出 1 km = 1000000 mm

【输入样例】

2
1 km = ? mm
1 m = ? mm

【输出样例】

1 km = 1000000 mm
1 m = 1000 mm

【算法标签】

《洛谷 B3926 单位转换》 #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int n;  // 测试用例的数量
int k;  // 数值
string a, b, c, d;  // 字符串变量,实际只使用a和d
// a: 源单位
// b: 字符串"is"
// c: 字符串"equal"
// d: 目标单位int main()
{// 输入测试用例数量cin >> n;// 处理每个测试用例while (n--){// 输入格式: 数值 源单位 is equal 目标单位cin >> k >> a >> b >> c >> d;// 特殊情况处理: 数值为0if (k == 0){// 0的任何单位转换都是0cout << k << " " << a << " = " << k << " " << d << endl;continue;  // 继续处理下一个用例}// 处理长度单位转换if (a == "km" && d == "m"){// 千米转米: 乘以1000cout << k << " " << a << " = " << k << "000 " << d << endl;}if (a == "km" && d == "mm"){// 千米转毫米: 乘以1,000,000cout << k << " " << a << " = " << k << "000000 " << d << endl;}if (a == "m" && d == "mm"){// 米转毫米: 乘以1000cout << k << " " << a << " = " << k << "000 " << d << endl;}// 处理质量单位转换if (a == "kg" && d == "g"){// 千克转克: 乘以1000cout << k << " " << a << " = " << k << "000 " << d << endl;}if (a == "kg" && d == "mg"){// 千克转毫克: 乘以1,000,000cout << k << " " << a << " = " << k << "000000 " << d << endl;}if (a == "g" && d == "mg"){// 克转毫克: 乘以1000cout << k << " " << a << " = " << k << "000 " << d << endl;}}return 0;
}

【运行结果】

2
1 km = ? mm
1 km = 1000000 mm
1 m = ? mm
1 m = 1000 mm
http://www.jsqmd.com/news/268583/

相关文章:

  • 详细介绍:安全体检 | 服务器的终极卫士
  • 解锁NanoBananaPro的6大应用场景:表情包、商品图、总结纲要、产品logo、漫画原创、文字转图片……
  • 2025年广佛双主轴加工中心用户推荐榜单出炉,46排刀机/Y轴/数控4+4/双主轴双刀塔/刀塔车床/数控车床/排刀机双主轴品牌选哪家 - 品牌推荐师
  • 计算机毕业设计案例】基于springboot的成人小饭桌预约下单配送微信小程序(程序+文档+讲解+定制)
  • 2026年铜锌分离炉深度选型报告:谁是高效冶金与环保回收的“破局者” - 电炉老饕
  • leetcode 1895. 最大的幻方 中等
  • 你的SCI论文总被拒?中国学生最易踩的6个坑
  • Gitee:2026年企业数字化转型中的项目管理核心引擎
  • 2026阀门管件铸造厂家权威推荐榜单:硅溶胶精密铸造/不锈钢铸造/碳钢精密铸造/非标铸造件源头厂家精选。
  • Gitee:中国企业数字化转型的核心技术引擎
  • 2026年四川机电设备制造空压机/ 螺杆空压机 /无油空压机 /静音空压机 /激光空压行业竞争格局深度分析报告:聚焦“智能数控化与集成解决方案” - 2026年企业推荐榜
  • 【毕业设计】基于springboot的成人小饭桌微信小程序(源码+文档+远程调试,全bao定制等)
  • 注意!这几家正规丙烯酸厂家,你必读!
  • 一键批量提取并导出海量照片的GPS与Exif信息,构建你的空间数据库【技术人必备的效率利器】
  • 通义万相15秒长视频生成功能深度技术讲解:从扩散模型到影视级创作的完整路径
  • 这几个低代码数据采集爬虫工具,非常强大~
  • 2026年南京西门子变频器回收公司推荐榜:金南磊机电回收中心,AB罗克韦尔回收/工控原件回收/西门子回收/西门子触摸屏回收/AB罗克韦尔模块回收/AB罗克韦尔触摸屏回收/电子原件回收公司精选
  • ASTM D4169抗压测试全解析:守护物流astmd4169包装安全的核心标准
  • GESP认证C++编程真题解析 | 202312 二级
  • ASTM D4169温度测试:筑牢产品运输astmd4169安全的环境防线
  • 在线VOCs厂家实力对比:技术与服务谁更胜一筹? - 品牌推荐大师1
  • 振动抛光机哪个品牌评价好?质量、耐用性和售后全评测 - 品牌推荐大师
  • AI大模型提示词公式
  • (新界面)NVR运动检测配置指导
  • 技术破局:低代码如何重构建筑业数字化底层逻辑?
  • 2026年1月商用/力量型/家用/健身器材企业选型指南:智能驱动与场景适配下的最优解 - 2026年企业推荐榜
  • 从0到1落地智能家居AI交互:LLaMA Factory Qwen3-4B 微调实战指南
  • leetcode 1292. 元素和小于等于阈值的正方形的最大边长 中等
  • 阿里OSS简单上传 有分片
  • Obsidian同步太折腾?试试坚果云官方插件:免WebDAV配置,支持Git级冲突合并