news 2026/6/14 14:26:47

CCF-GESP计算机学会等级考试2025年12月四级C++T1 建造

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CCF-GESP计算机学会等级考试2025年12月四级C++T1 建造

B4451 [GESP202512 四级] 建造

题目描述

小 A 有一张MMMNNN列的地形图,其中第iii行第jjj列的数字aija_{ij}aij代表坐标(i,j)(i, j)(i,j)的海拔高度。

停机坪为一个3×33 \times 33×3的区域,且内部所有999个点的最大高度和最小高度之差不超过HHH

小 A 想请你计算出,在所有适合建造停机坪的区域中,区域内部999个点海拔之和最大是多少。

输入格式

第一行三个正整数M,N,HM, N, HM,N,H,含义如题面所示。

之后MMM行,第iii行包含NNN个整数ai1,ai2,…,aiNa_{i1}, a_{i2}, \dots, a_{iN}ai1,ai2,,aiN,代表坐标(i,j)(i, j)(i,j)的高度。

数据保证总存在一个适合建造停机坪的区域。

输出格式

输出一行,代表最大的海拔之和。

输入输出样例 #1

输入 #1

5 5 3 5 5 5 5 5 5 1 5 1 5 5 5 5 5 5 5 2 5 2 5 3 5 5 5 2

输出 #1

40

说明/提示

数据范围

对于所有测试点,保证1≤M,N≤1031 \leq M, N \leq 10^31M,N1031≤H,aij≤1051 \leq H, a_{ij} \leq 10^51H,aij105

题解:建造

一、 解题思路

  1. 确定遍历对象:3×3区域的位置由其左上角坐标(i,j)唯一确定,有效左上角坐标的行范围是1~m-2、列范围是1~n-2(该范围可保证3×3区域不超出地形图边界),遍历该范围内所有坐标即可覆盖所有潜在停机坪区域。
  2. 合法性校验:对每个左上角(i,j)对应的3×3区域,遍历区域内9个点,找出最大海拔和最小海拔,判断两者差值是否不超过阈值H,满足条件则该区域合法。
  3. 计算海拔总和:对于合法的3×3区域,再次遍历区域内9个点,累加所有点的海拔高度,得到该区域的海拔总和。
  4. 维护全局最大值:定义全局变量ans存储最终结果并初始化为0,每次得到合法区域的海拔和后,通过max函数更新ans,确保其始终保存当前最大的合法区域海拔和。
#include<bits/stdc++.h>// 引入C++所有标准库头文件,简化编码流程usingnamespacestd;intm,n,h;// 全局变量:地形图行数m、列数n、高度差阈值hinta[1005][1005];// 存储海拔高度的二维数组,1005×1005满足m、n≤10³的要求intans=0;// 存储最大合法3×3区域海拔和,初始化为0// 校验函数:判断以(x,y)为左上角的3×3区域是否合法// 合法条件:区域内最大海拔与最小海拔差值≤hboolcheck(intx,inty){intmx=a[x][y],mn=a[x][y];// 初始化最大/最小海拔为区域左上角值// 双层循环遍历3×3区域内所有9个点for(inti=x;i<x+3;i++){for(intj=y;j<y+3;j++){mx=max(mx,a[i][j]);// 更新区域最大海拔mn=min(mn,a[i][j]);// 更新区域最小海拔}}returnmx-mn<=h;// 返回区域是否合法的判断结果}// 求和函数:计算以(x,y)为左上角的3×3区域海拔总和intsum(intx,inty){intret=0;// 累加变量,存储区域海拔总和// 双层循环遍历3×3区域,累加所有点的海拔for(inti=x;i<x+3;i++){for(intj=y;j<y+3;j++){ret+=a[i][j];}}returnret;// 返回区域海拔总和}intmain(){// 输入行数m、列数n、高度差阈值hcin>>m>>n>>h;// 输入m行n列的海拔数据,采用1-based索引存储for(inti=1;i<=m;i++){for(intj=1;j<=n;j++){cin>>a[i][j];}}// 修正后的循环条件:i≤m-2,j≤n-2,避免3×3区域越界for(inti=1;i<=m-2;i++){// i的有效上限为m-2,保证i+2≤mfor(intj=1;j<=n-2;j++){// j的有效上限为n-2,保证j+2≤n// 仅合法区域才计算海拔和并更新最大值if(check(i,j)){ans=max(ans,sum(i,j));}}}cout<<ans;// 输出最大合法区域海拔和return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 18:13:27

基于Android和Spring Boot 的个性化美食点餐推荐系统 订餐系统设计 小程序

目录已开发项目效果实现截图关于博主开发技术介绍核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发…

作者头像 李华
网站建设 2026/6/5 17:44:20

第零章:我们面对的是怎样的“怪物”?

这不是一个标准的云平台项目。如果沿用建造“商品房”的思路去应对&#xff0c;我们注定会失败。因为我们要构建的&#xff0c;是一幢同时要容纳重型精密机床、海量图书馆和瞬息万变指挥中心的奇异大厦。开篇之前&#xff0c;我们必须认清&#xff0c;我们面对的究竟是怎样一头…

作者头像 李华
网站建设 2026/5/29 0:16:04

第三篇:服务篇——平台能力的输出:从资源到API

3.1 云管平台&#xff08;XX云&#xff09;的角色当计算、网络、存储资源完成池化&#xff0c;我们拥有了强大的“生产工具”。但如何让用户高效、安全、自助地使用这些工具&#xff0c;而非深陷于复杂的命令行和配置文件中&#xff1f;云管平台&#xff08;如XX云&#xff09;…

作者头像 李华
网站建设 2026/6/10 15:26:58

样本库的管理者最担心什么?是温度波动吗?还是湿度异常呢?

​在样本库的管理过程中&#xff0c;温湿度数据的控制至关重要&#xff0c;样本的温湿度数据直接关系着样本的质量与安全&#xff0c;因此&#xff0c;了解和掌握样本的稳定性是关键因素&#xff0c;通过安装温湿度监控设备成为样本库管理者日常工作的重中之重。温度的波动可能…

作者头像 李华
网站建设 2026/5/31 5:27:51

高频隔离型光伏离网单相逆变器控制算法探究

高频隔离型光伏离网单相逆变器的控制算法的C代码仿真模型&#xff0c;DC70~150V输入&#xff0c;AC220V/50Hz输出&#xff1a; 1. 主回路DC/DCDC/AC&#xff0c;相较于传统的非隔离型光伏逆变器&#xff0c;前级DC/DC不再采用boost电路&#xff0c;而是采用高频移相全桥电路来实…

作者头像 李华
网站建设 2026/6/10 13:14:45

Tauri框架入门:基本概念与快速使用指南

Tauri框架入门&#xff1a;基本概念与快速使用指南 在跨平台桌面应用开发领域&#xff0c;Electron 曾长期占据主导地位&#xff0c;但它“重体积、高内存”的痛点始终让开发者和用户有所顾虑。而 Tauri 的出现&#xff0c;为跨平台桌面应用开发提供了更轻量、更安全的新选择。…

作者头像 李华