GESP-2025.03 题解(咕咕中)

题面请前往此处领取

GESP-2025.03-1-T1

考察对顺序结构的简单运用。

这里我们需要用到一个知识点:向上取整。
要求 n / m 的向上取整值,我们可以使用 ceil((double)n / m)。但这样很容易引起精度问题。所以我们可以使用 (n + m - 1) / m 解决。

回到本题,可以发现啃的本数为 n - ceil(y / x)。也就是 n - (x + y - 1) / x
直接套公式计算即可。

GESP-2025.03-1-T2

考察对分支、循环结构的简单运用。

我们先回顾一下如何获取一个数的个位。一个数的个位就是这个数对 10 取模后的值。按照这个想法,我们可以先判断个位的大小,再进行计算。

回到本题,可以先判断个位的大小,再进行四舍五入的操作。对于“舍”的操作,可以用原数减去个位;对于“入”的操作,可以用原数加上个位。

本题也存在不使用分支结构方法,留作扩展。

GESP-2025.03-2-T1

考察对循环结构的简单运用。

首先我们发现,再第 nm 列填入 n\times m 即可。为什么呢?因为对于行来说,相邻两项的差为 n\times m - n\times (m-1)=n,是个定值;对于列来说,相邻两项的差为 n\times m - (n-1)\times m=m,也是个定值。

直接模拟即可,码量较小,与 T2 形成鲜明对比

GESP-2025.03-2-T2

考察对分支结构的灵活运用与选手对长代码的处理能力。

题目非常友好,k 的数据范围只到了 24,不存在跨多天,多月,多年等情况,所以在处理时仅需简单相减。

其余处理细节见核心代码:

if (h >= 24){ // 超过 24 小时。 
	h -= 24, d++; // 由于 k 的数据范围不超过 24,所以仅需简单相减即可。 
	bool f = 0; // 标记是否为闰年(0:不是,1:是)。
	if (y % 4 == 0 && y % 100 != 0) f = 1;
	if (y % 400 == 0) f = 1;
	int t; // 记录该月的天数。 
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) t = 31; // 大月 
	if (m == 4 || m == 6 || m == 9 || m == 11) t = 30; // 小月 
	if (m == 2) t = 28 + f; // 平月
	if (d > t) { // 超过该月应有的天数。 
		d -= t; // 直接相减即可。
		m++;
		if (m > 12) { // 超过 12 个月。
			m -= 12; // 直接相减即可。 
			y++;
		} 
	} 
}

GESP-2025.3-3-T1

考察选手的逻辑推理能力。

首先我们要确定枚举范围。对于任意正整数 x,y,有 (x \operatorname{and} y) + (x \operatorname{or} y)=x+y。考察拆位证明:

x y (x \operatorname{and} y) + (x \operatorname{or} y) x+y
0 0 0 0
0 1 1 1
1 0 1 1
1 1 10 10

所以答案为 2025-x

GESP-2025.3-3-T2

考察对 STL 容器、字符串入门操作的简单运用。

把所有的字符串变为小写,再扔进 map 中,对其进行次数比较。

GESP-2025.3-4-T1

考察数组的综合运用以及选手对长代码的处理能力。

考虑新开一个数组 \text{cnt},去掉该位置上的障碍物后能增加的答案。若该位置周围有障碍物,则将这个障碍物上的 \text{cnt} 自增。如果该位置本身就为障碍物,那么这个位置上的 \text{cnt} 自增。最后统计有多少个位置是本身就可以被开垦的(记为 \text{ans} ),再计算 \text{ans}+\max\{\text{cnt}\}

GESP-2025.3-4-T2

考察对枚举的简单运用。

很显然,只需暴力枚举 2\times2 的子矩阵,再相乘即可。

GESP-2025.3-5-T1

考察对排序、贪心的简单运用。

首先我们考虑全卖给 B。然后将其中的 n 件物品转给 C。若选第 i 件物品,则对答案的贡献为 c_i-b_i。而我们的目的是将答案最大化,只需要选择最大的 nc_i-b_i 即可。可以通过排序实现。

最后计算 b 数组的和加上最大的 nc_i-b_i 即可。

GESP-2025.3-5-T2

不想讲。

GESP-2025.3-6-T1

咕咕咕。

7 个赞

拿下首赞!


1 个赞

不能学习指南针咕咕咕的精神哦)

1 个赞

是指南针吗()

1 个赞

你告诉我 16 道题怎么一次性写完嘛

1 个赞

贺官方题解)

1 个赞

话说你们在官网上看到的选择题和判断题是不是乱序的?

1 个赞

啥官网?考试前考试后

1 个赞

2025年3月GESP认证真题-CCF-GESP编程能力等级认证
这里,选择题和判断题的顺序是不是乱的。

1 个赞

各位大佬,我有个问题 求解答

1 个赞

所以是几级啊

1 个赞

3级的T1暴力+一点点优化能过

@连晨皓 这不是废话吗?三级本来就水

@刘子睿 董子豪考的是 5 级

@stringdp100005 确实是乱的,选项也和我做题的时候不一样

哦那就放心了

宣一下

我在学校科技节打了一个超水的比赛,竟然没AK。。。但是rk1

五级

家人们谁懂啊,我爸妈自己出去玩了,给我丢家里了,我刚回来才知道。。。还得我自己做饭