CCF-GESP计算机学会等级考试2025年9月四级C++T1 排兵布阵

B4415 [GESP202509 四级] 排兵布阵

题目描述

作为将军,你自然需要合理地排兵布阵。地图可以视为 nnn 行 mmm 列的网格,适合排兵的网格以 1 标注,不适合排兵的网格以 0 标注。现在你需要在地图上选择一个矩形区域排兵,这个矩形区域内不能包含不适合排兵的网格。请问可选择的矩形区域最多能包含多少网格?

输入格式

第一行,两个正整数 n,mn, mn,m,分别表示地图网格的行数与列数。

接下来 nnn 行,每行 mmm 个整数 ai,1,ai,2,…,ai,ma_{i,1}, a_{i,2}, \ldots, a_{i,m}ai,1​,ai,2​,…,ai,m​,表示各行中的网格是否适合排兵。

输出格式

一行,一个整数,表示适合排兵的矩形区域包含的最大网格数。

输入输出样例 #1

输入 #1

4 3 0 1 1 1 0 1 0 1 1 1 1 1 

输出 #1

4 

输入输出样例 #2

输入 #2

3 5 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 

输出 #2

3 

说明/提示

对于所有测试点,保证 1≤n,m≤121 \leq n, m \leq 121≤n,m≤12,0≤ai,j≤10 \leq a_{i,j} \leq 10≤ai,j​≤1。

解析

暴力枚举法,详见代码:

#include<bits/stdc++.h>usingnamespace std;int m,n;int a[105][105];int ans=0;//计算bx(开始行),by(开始列),ex(结束行),ey(结束列)//范围是否都可以排兵 boolf(int bx,int by,int ex,int ey){for(int i=bx;i<=ex;i++){for(int j=by;j<=ey;j++){if(a[i][j]==0){return0;}}}return1;}intmain(){ cin>>m>>n;for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){ cin>>a[i][j];}}for(int i=1;i<=m;i++){//枚举矩形左上角行for(int j=1;j<=n;j++){//枚举矩形左上角列for(int k=i;k<=m;k++){//枚举矩形右下角行for(int l=j;l<=n;l++){//枚举矩形右下角列if(f(i,j,k,l)){//若符合条件  ans=max(ans,(k-i+1)*(l-j+1));//求面积的最大值 }}}}} cout<<ans;return0;}

Read more

Flutter 三方库 m_list 的鸿蒙化适配指南 - 实现具备高阶谓词过滤与异步分片的增强列表处理、支持端侧集合数据的高效变换与分布式序列化实战

Flutter 三方库 m_list 的鸿蒙化适配指南 - 实现具备高阶谓词过滤与异步分片的增强列表处理、支持端侧集合数据的高效变换与分布式序列化实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 m_list 的鸿蒙化适配指南 - 实现具备高阶谓词过滤与异步分片的增强列表处理、支持端侧集合数据的高效变换与分布式序列化实战 前言 在进行 Flutter for OpenHarmony 的大规模数据处理、商品列表分析或复杂的日志检索应用开发时,原生 Dart 的 List 虽然提供了基础的集合操作,但在处理分页加载、深度克隆、频率统计以及复杂的并集/交集运算时,代码往往会变得碎片化。m_list 是一款专为高效列表操作设计的增强库。本文将探讨如何在鸿蒙端构建极致、清爽的集合处理模型。 一、原直观解析 / 概念介绍 1.1 基础原理 m_list 建立在一套强大的“谓词逻辑(Predicate Logic)”和“链式变换”之上。

By Ne0inhk
黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐

黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐

简历上展示黑马点评 完整代码地址 微服务学成在线项目 前言 当初就是当作一个学习笔记和个人面试记录发的,没想到这么多人收藏浏览,还是感慨学Java的人确实多啊。 适合什么人看呢,我仅仅说说我个人的理解,因为我现在也是个经历秋招的双非学生。 1.初学者学习完Redis基础,想来个实战,黑马点评还是特别好的一个项目,基本包含了所有数据类型的运用和redis其他功能的扩展,这篇文章可以带你提炼重点,很好的走下流程。 2.但大部分人是冲着找实习和秋招去的,像我这种学历不高的秋招就不要写黑马点评了,即使包装,也会很容易看出来,我找实习的时候就被面试官问到这是不是黑马点评过,我们可以把其中的闪光点迁移到你找的其他项目中,比如缓存穿透雪崩击穿的解决方法,redisson分布式锁解决一人一单,这种在大多项目中都可以添加,自圆其说就行。 3.对于找实习的像大二,大三上的,想找个小厂试试手垂直向上升的,可以吃透它,面试官问你遇到的困难或者是你觉得难点,就可以重点讲一人一单这个解决方法和流程,越详细越好。 4.前提是大家不用直接用这套模板,太多人用了,这也是我从网上找的别人的,巧用AI让它改改项

By Ne0inhk
从 0 到 1 玩转最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)

从 0 到 1 玩转最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)

文章目录 * 环境搭建 * Windows * Docker (部分题目必须使用) * Introduction * WebWolf * Gerenal * HTTP Basics * HTTP Proxies * Developer Tools * CIA Triad * Writing new lesson * (A1) Broken Access Control * Hijack a session * Insecure Direct Object References * Missing Function Level Access Control * Spoofing an Authentication Cookie * (A2) Cryptographic Failures * Crypto Basics * (A3) Injection * SQL Injection (intro) * SQL

By Ne0inhk
数据库迁移 TCO 全景账本:MySQL 替代中的隐性成本与工程化工具链实测

数据库迁移 TCO 全景账本:MySQL 替代中的隐性成本与工程化工具链实测

文章目录 * 前言:决策者的“隐形焦虑”与迁移困局 * 一、 TCO 全景账本:隐性成本都藏哪儿了? * 1. 成本结构深度对比 * 2. 效率数据实测 * 二、 迁移主力军:KDTS 自动化迁移深度解析 * 1. 核心黑科技:智能映射与兼容 * 2. 实战流程:让迁移可复用、可验收 * 三、 零停机保障:KFS 双轨增量同步与“后悔药” * 1. 架构原理:双轨运行,进退自如 * 2. 实战演示:KFS 任务配置与验证 * 四、 最后一公里:一致性校验与修复怎么做(验收闭环) * 1) 迁移报告先把问题前置 * 2) 同步链路侧做一致性比对与修复 * 3) 业务侧做关键指标对账(强烈建议) * 五、 结语:

By Ne0inhk