P10719 [GESP202406 五级] 黑白格

题目传送门

前言:不是这样例有点过分了哈:

这是我没考虑到无解的情况的得分:

 这是我考虑了的得分:


 

总而言之,就是一个Subtask 你没考虑无解的情况(除了Subtask #0),就会WA一大片,然后这个Subtask 就不得分了(感觉有点亏),废话不多说,进入题解。

题解: 

分析:

  1. 输入的时候是不带空格的,所以要用字符串输入
  2. 要知道是符合黑色格的个数是否大于等于k,就得用到二维前缀和
  3. 该题需要求解的内容需要通过公式计算,然后再比大小才行
  4. 考虑误解情况,即没有符合黑色格大于k的情

 思路:

  1. 首先我们知道该题是没有用空格输入的,所以对于这道题来说,我们要先用字符形式暂存,然后在转化为整数形式
    scanf(" %c",&c);//输入字符 
    a[i][j]=c-'0'; //将字符转化为整数 

  2. 对于这道题来说,我们要用到二位前缀和,因为该题的输入可以采用求子矩阵的和来判断是否满足条件(1表示黑色格,0表示白色格),而我们要知道二维前缀和的公式,即s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j],而他的调用公式则为s[x2][y2] - s[x1-1][y2] - s[x2][y1-1] + s[x1-1][y1-1]
  3. 该提示需要求矩阵的大小,所以我们要知道如何求他的公式,该公式为S=(x_2-x_1+1)\times(y_2-y_1+1)
  4. 我们要考虑无解情况,即没有满足条件,那么我们直接输出0即可

        

AC CODE(全部):

#include<bits/stdc++.h>
using namespace std;int n,m,k; 
int a[105][105];//该数组用来存储和输入 
int s[105][105];//该数组用来计算前缀和 
char c;//辅助输入(因为输入中没有空格需要用字符来先代替) 
int minn=2147483647; int main(){scanf("%d%d%d",&n,&m,&k);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf(" %c",&c);//输入字符 a[i][j]=c-'0'; //将字符转化为整数 s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];//计算前缀和 }}for(int x1=1;x1<=n;x1++){for(int j1=1;j1<=m;j1++){for(int x2=x1;x2<=n;x2++){ for(int j2=j1;j2<=m;j2++){//因为x2>=x1并且j2>=j1,所以x2和j2分别从x1和j1开始枚举即可 if(s[x2][j2]-s[x2][j1-1]-s[x1-1][j2]+s[x1-1][j1-1]>=k){// s[x2][j2]-s[x2][j1-1]-s[x1-1][j2]+s[x1-1][j1-1]用来调用前缀和 int s=(x2-x1+1)*(j2-j1+1);//计算该矩形大小 minn=min(minn,s);}}}}}if(minn==2147483647){//特殊情况(无解) printf("0");return 0;}printf("%d",minn);return 0;
}


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914922.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS RDS PostgreSQL可观测性最佳实践

AWS RDS PostgreSQL 介绍AWS RDS PostgreSQL 是亚马逊云服务&#xff08;AWS&#xff09;提供的托管型 PostgreSQL 数据库服务。托管服务&#xff1a;AWS 管理数据库的底层基础设施&#xff0c;包括硬件、操作系统、数据库引擎等&#xff0c;用户无需自行维护。高性能&#xff…

C++——set,map的模拟实现

文章目录前言红黑树的改变set的模拟实现基本框架迭代器插入源码map模拟实现基础框架迭代器插入赋值重载源码测试代码前言 set&#xff0c;map底层使用红黑树这种平衡二叉搜索树来组织元素 &#xff0c;这使得set, map能够提供对数时间复杂度的查找、插入和删除操作。 下面都是基…

LabVIEW液压机智能监控

​基于LabVIEW平台&#xff0c;结合西门子、研华等硬件&#xff0c;构建液压机实时监控系统。通过 OPC 通信技术实现上位机与 PLC 的数据交互&#xff0c;解决传统监控系统数据采集滞后、存储有限、参数调控不便等问题&#xff0c;可精准采集冲压过程中的位置、速度、压力等参数…

15. 什么是 xss 攻击?怎么防护

总结 跨站脚本攻击&#xff0c;注入恶意脚本敏感字符转义&#xff1a;“<”,“/”前端可以抓包篡改主要后台处理&#xff0c;转义什么是 XSS 攻击&#xff1f;怎么防护 概述 XSS&#xff08;Cross-Site Scripting&#xff0c;跨站脚本攻击&#xff09;是一种常见的 Web 安全…

更换docker工作目录

使用环境 由于默认系统盘比较小docker镜像很容易就占满&#xff0c;需要挂载新的磁盘修改docker的默认工作目录 环境&#xff1a;centos7 docker默认工作目录: /var/lib/docker/ 新的工作目录&#xff1a;/home/docker-data【自己手动创建&#xff0c;一般挂在新加的磁盘下面】…

算法学习笔记:26.二叉搜索树(生日限定版)——从原理到实战,涵盖 LeetCode 与考研 408 例题

二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称 BST&#xff09;是一种特殊的二叉树&#xff0c;因其高效的查找、插入和删除操作&#xff0c;成为计算机科学中最重要的数据结构之一。BST 的核心特性是 “左小右大”&#xff0c;这一特性使其在数据检索、排序和索引…

共生型企业:驾驭AI自动化(事+AI)与人类增强(人+AI)的双重前沿

目录 引言&#xff1a;人工智能的双重前沿 第一部分&#xff1a;自动化范式&#xff08;事AI&#xff09;——重新定义卓越运营 第一章&#xff1a;智能自动化的机制 第二章&#xff1a;自动化驱动的行业转型 第三章&#xff1a;自动化的经济演算 第二部分&#xff1a;协…

TypeScript的export用法

在 TypeScript 中&#xff0c;export 用于将模块中的变量、函数、类、类型等暴露给外部使用。export 语法允许将模块化的代码分割并在其他文件中导入。 1. 命名导出&#xff08;Named Export&#xff09; 命名导出是 TypeScript 中最常见的一种导出方式&#xff0c;它允许你导出…

数据结构-2(链表)

一、思维导图二、链表的反转def reverse(self):"""思路&#xff1a;1、设置previous_node、current、next_node三个变量,目标是将current和previous_node逐步向后循环并逐步进行反转,知道所有元素都被反转2、但唯一的问题是&#xff1a;一旦current.next反转为向…

ros2 标定相机

一个终端执行&#xff1a; ros2 run image_tools cam2image --ros-args -p width:640 -p height:480 -p frequency:30.0 -p device_id:-1 -r /image:/camera/image_raw另一个终端执行&#xff1a;8x6 是格子角点数量&#xff0c;0.028是格子尺寸 ros2 run camera_calibration …

IsaacLab学习记录(二)

二、导入并训练自己的机器人1、urdf等其他格式转usd&#xff08;工具在./scrips/tools/&#xff09;​​​维度​​​​URDF (Unified Robot Description Format)​​​​USD (Universal Scene Description)​​​​定位​​机器人模型描述标准&#xff08;仅描述单机器人&…

基于Rust Softplus 函数实践方法

Softplus 函数 Softplus 函数是神经网络中常用的激活函数之一,定义为: ​ Softplus函数导数 ​ 是 sigmoid 函数。Softplus 处处可导,并且导数恰好是 sigmoid。 它是 ReLU 函数的平滑近似,具有连续可导的特性,适合需要梯度优化的场景。 数学特性 平滑性:导数为 Sig…

Ubuntu服务器安装Miniconda

下载 Miniconda 安装脚本&#xff08;如果能联网&#xff09;wget https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-x86_64.sh -O Miniconda3.sh安装 Miniconda 到 /opt/condabash Miniconda3.sh -b -p /opt/conda激活 conda/opt/conda/bin/conda init ba…

Java数组补充v2

一、数组基本概念1. 什么是数组数组是Java中用来存储同类型数据的固定大小的连续内存空间的数据结构。2. 数组特点固定长度&#xff1a;一旦创建&#xff0c;长度不可改变相同类型&#xff1a;所有元素必须是同一数据类型索引访问&#xff1a;通过下标&#xff08;从0开始&…

【PTA数据结构 | C语言版】前缀树的3个操作

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录题目代码题目 请编写程序&#xff0c;利用前缀树查找给定字符串是否在某给定字符串集合 S 中。 输入格式&#xff1a; 输入首先给出一个正整数 n&#xff08;≤1000&#xff09;&#xff0c;随后 n 行&#xff0…

JAVA面试宝典 -《缓存架构:穿透 / 雪崩 / 击穿解决方案》

&#x1f4a5;《缓存架构&#xff1a;穿透 / 雪崩 / 击穿解决方案》 文章目录&#x1f4a5;《缓存架构&#xff1a;穿透 / 雪崩 / 击穿解决方案》&#x1f9ed; 一、开篇导语&#xff1a;为什么缓存是高并发系统的命脉&#xff1f;✅1.1 缓存的核心价值缓存带来的收益​​&…

FPGA创意项目网页或博客推荐

1. 综合项目平台(开源+教程) ① Hackster.io - FPGA专区 🔗 https://www.hackster.io/fpga 特点: 大量基于FPGA的创意项目(如Zynq游戏机、视觉处理、机器人控制)。 提供完整教程(Vivado工程文件+代码)。 推荐项目: FPGA-Based Oscilloscope(低成本示波器) V…

Go 程序无法使用 /etc/resolv.conf 的 DNS 配置排查记录

在最近的一次部署中&#xff0c;我遇到一个奇怪的问题&#xff1a;Go 程序在运行时不使用 /etc/resolv.conf 中的 DNS 设置&#xff0c;导致服务无法正常访问域名。这篇文章记录下完整的排查过程和最终的解决方案。1. 问题现象我有一个部署在 KVM 虚拟机内的 Go 应用&#xff0…

微服务相关问题(2)

1、Spring Cloud相关常用组件注册中心&#xff08;nacos、Eureka等&#xff09;、负载均衡&#xff08;Ribbon、LoadBalancer&#xff09;、远程调用&#xff08;feign&#xff09;、服务熔断&#xff08;Sentinel、Hystrix&#xff09;、网关&#xff08;Gateway&#xff09;2…

安全初级2

一、作业要求 1、xss-labs 1~8关 2、python实现自动化sql布尔育注代码优化(二分查找) 二、xss-labs 1~8关 1、准备 打开小皮面板&#xff0c;启动MySQL和apacher 下载 xss-labs&#xff0c;并解压后放到 phpstudy_pro 的 WWW 目录下&#xff0c;重命名为 xss-labs 访问链…