news 2026/4/23 17:13:35

GESP2025年12月认证C++四级真题与解析(编程题1 (建造))

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP2025年12月认证C++四级真题与解析(编程题1 (建造))

一、先看原题:

二、题目解析:

1、📖 故事背景(先让孩子懂题目)

小 A 有一张地形地图 🗺️
这张地图是一个M 行 N 列的大棋盘。

  • 每一个小格子里,都有一个数字

  • 数字代表这个地方的海拔高度 ⛰️


🚁 停机坪的建造规则

停机坪是一个3 × 3 的正方形区域

□ □ □ □ □ □ □ □ □

要想在这里建停机坪,必须满足:

1️⃣ 这 9 个格子中
👉最高海拔 - 最低海拔 ≤ H

2️⃣ 在所有可以建停机坪的区域中
👉 找到一个海拔总和最大的


🎯 题目要我们做什么?

👉在整张地图上,找所有 3×3 的小正方形

👉 判断哪些“合格”

👉 在合格的里面,选海拔总和最大的那个

👉 输出这个最大总和


2、🧠 整体思路(先有“大地图”)

我们用一句话总结:

🧩“枚举每一个 3×3 → 统计最大值、最小值、总和 → 判断 → 取最大”


3、🧱 一步一步拆解(非常关键)

✅ 第一步:用二维数组存地图

int a[1010][1010];

👉a[i][j]表示:
i行、第j列的高度


✅ 第二步:枚举每一个 3×3 的左上角

如果地图是M × N

  • 行最多到:M - 2

  • 列最多到:N - 2

for (int i = 1; i <= M - 2; i++) { for (int j = 1; j <= N - 2; j++) { // (i, j) 是 3×3 的左上角 } }

🧒 可以这样理解:

👉 停机坪不能“出界”
👉 左上角不能贴到最底、最右


✅ 第三步:检查这个 3×3 区域

在一个 3×3 里,我们要记住三件事:

  • local_max:最大高度

  • local_min:最小高度

  • local_sum:高度总和

int local_max = a[i][j]; int local_min = a[i][j]; int local_sum = 0;

🔍 第四步:真正“扫”这个 3×3

for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { int height = a[i + x][j + y]; local_sum += height; if (height > local_max) local_max = height; if (height < local_min) local_min = height; } }

🧒 可以想象成:

小 A 拿着放大镜 🔍
把这 9 个格子一个一个看一遍


✅ 第五步:判断能不能建停机坪

if (local_max - local_min <= H) { if (local_sum > max_sum) { max_sum = local_sum; } }

如果起伏不大
✔ 而且总和更大
👉 就更新答案!


4、🧠 完整参考程序

#include <iostream> using namespace std; int a[1010][1010]; int main() { int M, N, H; cin >> M >> N >> H; for (int i = 1; i <= M; i++) { for (int j = 1; j <= N; j++) { cin >> a[i][j]; } } int max_sum = 0; for (int i = 1; i <= M - 2; i++) { for (int j = 1; j <= N - 2; j++) { int local_max = a[i][j]; int local_min = a[i][j]; int local_sum = 0; for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { int height = a[i + x][j + y]; local_sum += height; if (height > local_max) local_max = height; if (height < local_min) local_min = height; } } if (local_max - local_min <= H) { if (local_sum > max_sum) { max_sum = local_sum; } } } } cout << max_sum; return 0; }

5、🧠 这道题在考什么?

🎯 核心能力清单

  • ✅ 二维数组建模

  • ✅ 多层 for 循环

  • ✅ 局部最大 / 最小值

  • ✅ 枚举思想(暴力但合理)

  • ✅ 边界控制(M-2,N-2


6、🎒 给小学生的“记忆口诀”

🧠停机坪四步走

1️⃣ 找左上
2️⃣ 扫 3×3
3️⃣ 算最大最小
4️⃣ 合格就更新答案


🎉 结尾总结

🌟 这是一道“看起来难,其实很规矩”的好题
🌟代码耐心 + 条理性是得分的关键


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 18:49:57

[Windows] 视频剪辑编辑软件中文绿色版ShotCut v25.12.31

[Windows] 视频剪辑编辑软件中文绿色版ShotCut v25.12.31 链接&#xff1a;https://pan.xunlei.com/s/VOhsv0g5968fcOz2330M3EtbA1?pwd9n9v# Shotcut是一个免费开源的视频编辑软件&#xff0c;它可以帮助用户编辑、剪辑和处理视频文件。 Shotcut支持多种常见视频格式&#x…

作者头像 李华
网站建设 2026/4/23 8:32:41

让游戏更真实的物理引擎,助力你的VR应用!

Jolt Physics&#xff1a;高性能物理引擎 在现代游戏和虚拟现实应用中&#xff0c;物理引擎的表现至关重要。Jolt Physics 是一款针对多核优化的刚体物理和碰撞检测库&#xff0c;采用 C 语言编写&#xff0c;特别适合游戏和虚拟现实应用&#xff0c;被《地平线&#xff1a;西…

作者头像 李华
网站建设 2026/4/23 8:32:15

YOLOFuse TensorRT加速方案探索:提升推理速度达3倍以上

YOLOFuse TensorRT加速方案探索&#xff1a;提升推理速度达3倍以上 在夜间监控、边境安防或自动驾驶的夜路感知场景中&#xff0c;仅依赖可见光摄像头的目标检测系统常常“失明”——低光照、逆光、烟雾遮挡让传统算法频频漏检。而红外图像虽能穿透黑暗&#xff0c;却缺乏纹理…

作者头像 李华
网站建设 2026/4/23 8:32:46

YOLOFuse英文文档改进:提升国际影响力的关键一步

YOLOFuse英文文档改进&#xff1a;提升国际影响力的关键一步 在低光照的街道上&#xff0c;摄像头难以捕捉行人踪迹&#xff1b;在浓烟弥漫的火场中&#xff0c;无人机视觉系统频频失效——这些现实场景暴露出单一可见光检测的固有缺陷。当传统YOLO模型在黑暗中“失明”时&…

作者头像 李华
网站建设 2026/4/23 8:31:18

YOLOFuse UltraISO注册码最新获取渠道(非官方)提示

YOLOFuse&#xff1a;多模态目标检测的轻量化实践之路 在城市安防系统中&#xff0c;夜间监控常常面临“看得见却辨不清”的尴尬——红外摄像头能捕捉热源&#xff0c;但缺乏细节纹理&#xff1b;可见光相机在低照度下则几乎失效。这种场景下的目标检测需求&#xff0c;正推动着…

作者头像 李华
网站建设 2026/4/23 13:00:30

YOLOFuse API封装示例:构建RESTful接口供前端调用

YOLOFuse API封装示例&#xff1a;构建RESTful接口供前端调用 在夜间监控、边境巡逻或火灾救援等场景中&#xff0c;传统的可见光摄像头常常因为低光照、烟雾遮挡等问题“失明”。而红外成像虽然能在黑暗中看清热源轮廓&#xff0c;却难以识别目标的细节特征。如何让AI系统像人…

作者头像 李华