☰
GESP 2025年6月 假期阅读 题解|分支结构详细讲解
2026/10/21 9:33:25 网站建设 项目流程

这是 GESP 2025年6月 的一道分支结构题。题目本身不难,但有几个地方特别容易出错,我把踩过的坑都写出来,希望能帮刚学到这里的朋友少走弯路。

题目来源:ACGO A58891 | 洛谷 B4354
赛事场次:2025年6月 一级

一、题目信息

题目名称:假期阅读

赛事场次:2025年6月 一级

难度定位:一级

涉及知识点:分支结构

题目链接:https://www.acgo.cn/problemset/info/58891

洛谷编号:B4354(同一道题,两个平台都可以提交,代码通用)

坑点(无数人 WA 的核心)

  • 条件表达式的真假判断;if-else 的配对;多分支的覆盖完整性。

题意简述

小 A 有⼀本厚厚的书。 这本书总共有 n 页, 小 A ⼀天中最多只能阅读完其中的 k 页。 小 A 的假期总共有 t 天, 他想知道在假期中最多能阅读完这本书的多少页。

前置知识

这道题用到的前置知识不多,我们先把它补齐,即使你刚学到这里也能看懂。

if-else 的配对:一个 if 最多配一个 else,多个条件判断用 else if 链。注意判断相等要用==,写成=是赋值,编译器可能不报错但逻辑全错。

多分支的覆盖:写条件时要想清楚所有情况是否都被覆盖,特别是边界值,比如分数等于 60 到底算及格还是不及格。

二、思路分析

先看清楚题目要我们做什么

把题目读两遍,我们提取出关键信息:输入是什么、要输出什么、有哪些约束条件。这道题考查的是分支结构,属于这类题里比较基础的一道,把题目要求一步步翻译成代码逻辑就能解决。

解题步骤拆解

  1. 按题目要求读入全部输入数据。
  2. 按题意逐项处理,这一步是核心,要保证每一步都对应题目里的一句话。
  3. 按题目规定的格式输出结果。

需要说明的是,上面这个思路是把题目要求直译成代码得到的,没有用到什么高级技巧。对于这类基础题,读准题意加写对边界比追求巧妙解法更重要,因为考试里这种题是必须拿满分的。

三、完整代码 + 逐行注释

#include <cstdio> using namespace std; int n, k, t; int ans; int main() { scanf("%d", &n); scanf("%d", &k); scanf("%d", &t); ans = k * t; if (n < ans) // 判断 ans = n; printf("%d\n", ans); return 0; }

四、代码分段拆解

为了看得更清楚,我们把代码按功能分成几段解释。

第一步:引入头文件

#include <cstdio> using namespace std;

#include <iostream>提供输入输出功能,using namespace std;让我们能直接写cin、cout而不用加前缀。这两行是几乎所有 C++ 程序的开头,照写即可。

第二步:读入数据

scanf("%d", &n); scanf("%d", &k); scanf("%d", &t);

注意变量的类型要能装下题目的数据。数据可能超过 21 亿时要改用long long。

第四步:按要求输出

printf("%d\n", ans);

输出格式必须和题目要求的完全一致。很多同学算法完全正确却因为少了一个换行或者空格多寡不对而 WA,这种分丢得最可惜。

五、实例模拟

光看代码可能还不够直观,我们用题目的样例实际跑一遍,看看程序是怎么走的。

以题目的第一组样例为例:

样例输入

8 3 2

样例输出

6

把这份输入代进代码,程序会先把数据依次读入,然后进入循环逐个判断,把满足条件的值累积起来,最后按格式输出。建议你对照着代码在纸上走一遍前两次循环,确认自己对每一步的理解都和程序一致。

题目另外还给了 1 组样例,做完之后建议把剩下的样例都跑一遍,全部通过再提交,能避开大部分边界问题。

六、踩坑总结

下面是做这道题时最容易出错的地方,对照自己的代码检查一下:

  1. 变量类型选错:虽然本题范围不大,但养成习惯——凡是不确定范围时,累加变量一律用long long,成本为零但能保命。
  2. 输出格式不符:题目要求输出几行就输出几行,行末换行、数字之间的空格都要严格对齐,算法对了但格式错了同样判 WA,这种分丢得最冤。
  3. 特殊情况没特判:把最小数据、最大数据、答案恰好等于 0 的情况各测一遍。特别是边界输入,出题人最喜欢在这里设陷阱。

七、知识点拓展

最后总结一下这道题带给我们的通用经验:

  • 本题考查分支结构的基本写法,这类题在考试中属于必得分项,要练到能默写。
  • 写完代码后建议自己造几组边界数据测试,特别是最小值和最大值。
  • 同一知识点在不同场次反复出现,把这道题的写法吃透,后面遇到同类题可以直接套用。

八、适用人群

如果你已经掌握分支结构的基本写法,这道题可以用来巩固手感。

如果这篇题解对你有帮助,欢迎点赞收藏。后续我会继续按场次整理 2025年6月 一级 的真题,关注我可以第一时间看到更新。有更好的写法也欢迎在评论区交流。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询