CCF GESP 2025年12月认证 C++ 2级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
环保能量球
时间限制:1s 内存限制:512MB

题目描述

小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。

为了激励玩家,游戏设置了“里程奖励”:小杨每行走 $x$ 公里,游戏就会额外奖励 1 点能量。

现在已知小杨总共行走了 $n$ 公里,请你帮他计算,他一共能获得多少点环保能量?

输入格式

第一行包含一个正整数 $t$,代表测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 $n$,代表行走的公里数。
  • 第二行包含一个正整数 $x$,代表奖励触发的间隔。

输出格式

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。

样例说明

样例 1

输入:
3
5
2
10
3
2
5
输出:
7
13
2
样例解释:
  • 对于第 1 组数据,$n=5,x=2$:小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共 $5+2=7$ 点。
  • 对于第 2 组数据,$n=10,x=3$:行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共 $10+3=13$ 点。
  • 对于第 3 组数据,$n=2,x=5$:行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。

数据范围

对于全部数据,保证:$1≤t≤100,1≤n,x≤1000$。

第 2 题
黄金格
时间限制:1s 内存限制:512MB

题目描述

小杨在探险时发现了一张神奇的矩形地图,地图有 $H$ 行和 $W$ 列。每个格子的坐标是 $( r,c)$,其中 $r$ 表示行号从 1 到 $H$,$c$ 表示列号 1 到 $W$。

小杨听说地图中隐藏着一些“黄金格”,这些格子满足一个神秘的数学挑战:当格子坐标 $(r,c)$ 代入特定的不等式关系成立时,该格子就是黄金格。具体来说,黄金格的条件是:$\sqrt{r^2+c^2} \leq x+r-c$。

例如,如果参数 $x=5$,那么格子 $(4,3)$ 就是黄金格。因为左边坐标平方和的平方根 $\sqrt{4^2+3^2}$ 算出来是 5,而右边 $5+4-3$ 算出来是 6, 5 小于等于 6,符合条件。

输入格式

三行,每行一个正整数,分别表示 $H,W,x$。含义如题面所示。

输出格式

一行一个整数,代表黄金格数量。

样例说明

样例 1

输入:
4
4
2
输出:
4
样例解释:

黄金格示例图

图中标注为黄色的四个格子是黄金格,坐标分别为 $(1,1)$,$(2,1)$,$(3,1)$,$(4,1)$ 。

数据范围

对于所有测试点,保证给出的正整数不超过 1000。

编程题部分已到底了。