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

解决 uv: command not found!极速 Python 工具 uv 安装全攻略

📌 摘要 你是否在使用 uv venv --python 3.12 --seed 时遇到过 -bash: uv: command not found 的错误?别急,这不是你的操作问题,而是系统还没安装这个“神器”!本文带你全面了解 uv —— 由 Astral 团队打造的超高速 Python 包与项目管理工具,比 pip 快 10-100 倍!我们将一步步教你如何正确安装 uv,避开常见坑(比如下错安装脚本),并提供多种安装方式:pip、官方一键脚本、pipx 等。无论你是新手还是老手,看完这篇都能轻松上手 uv,开启 Python 开发新速度! 什么是 uv?为什么它这么火? uv

By Ne0inhk
GraphQL在Python中的完整实现:从基础到企业级实战

GraphQL在Python中的完整实现:从基础到企业级实战

目录 摘要 1 引言:为什么GraphQL是API设计的未来 1.1 GraphQL的核心价值定位 1.2 GraphQL技术演进路线图 2 GraphQL核心技术原理深度解析 2.1 Schema定义语言与类型系统 2.1.1 Schema定义原则 2.1.2 类型系统架构 2.2 Resolver解析机制深度解析 2.2.1 Resolver执行模型 2.2.2 Resolver执行流程 2.3 Strawberry vs Graphene框架深度对比 2.3.1 架构设计哲学对比 2.3.2 框架选择决策树 3 实战部分:

By Ne0inhk
Python 基础与环境配置

Python 基础与环境配置

第一篇:Python 基础与环境配置 学习目标 💡 掌握 Python 语言的基本语法和编程思想 💡 学会安装和配置 Python 开发环境 💡 理解并熟练运用 Python 的数据类型、变量和运算符 💡 掌握 Python 的流程控制语句(条件判断、循环) 💡 学会使用 Python 的函数和模块 💡 了解 Python 的常用开发工具和集成开发环境(IDE) 💡 具备编写简单 Python 程序的能力 重点内容 * Python 语言的发展历程与特点 * Python 开发环境的安装与配置 * Python 的基本语法(变量、数据类型、运算符) * 流程控制语句(if 语句、for 循环、while 循环) * 函数的定义、调用和参数传递 * 模块和包的使用 * 常用开发工具和

By Ne0inhk
【C++】异常之道,行者无疆:解锁 C++ 的异常捕获哲学

【C++】异常之道,行者无疆:解锁 C++ 的异常捕获哲学

文章目录 * C语言处理错误 * C++异常 * 异常的抛出与捕获 * 基本语法 * `catch` 的匹配原则 * 函数调用链中的匹配原则 * 异常的重新抛出 * 异常安全 * 异常规范 * C++标准库异常 C语言处理错误 * 终止程序:利用 assert() 断言去终止程序,当 ()的表达结果为 false 时会终止程序。 * 返回错误码:手动查找对应的错误,系统的接口函数将作错误码放到 errno 中表示错误。 C语言中的 strerror 将参数对应 errno 的错误信息的字符串返回。errno 是一个全局变量,当使用标准库的函数发生错误时,就会将对应的的错误码放到 errno 中,每个错误码对应着不同的错误信息,strerror 就可以将错误码对应的字符串返回。 以下为错误码 0~10 对应的信息: #include<iostream>

By Ne0inhk