返回首页 返回题库

黑白方块

C++ 简单 GESP四级真题 #枚举#二维矩阵

题目描述

题面描述

小杨有一个n行m列的网格图,其中每个格子要么是白色,要么是黑色。

对于网格图中的一个子矩形,小杨认为它是平衡的当且仅当其中黑色格子与白色格子数量相同。

小杨想知道最大的平衡子矩形包含了多少个格子。

输入格式

第一行包含两个正整数 ,含义如题面所示。

之后 行,每行一个长度为m的01串,代表网格图第 行格子的颜色,如果为0,则对应格子为白色,否则为黑色。

输出格式

输出一个整数,代表最大的平衡子矩形包含格子的数量,如果不存在则输出 0。

样例1

输入:

4 5
00000
01111
00011
00011

输出:

16

样例解释

对于样例1,假设 代表第 行第 列,最大的平衡子矩形的四个顶点分别为(1,2),(1,5),(4,2),(4,5)。

数据范围

对于全部数据,保证有 。

时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
核心考察二维数组的遍历与条件匹配。解题思路:先定义好目标4*4矩形的匹配模板,然后枚举所有可能的4*4子矩形的左上角坐标,逐个判断是否与模板完全一致即可。注意枚举的边界条件:左上角行坐标范围是1到n-3,列坐标范围是1到m-3,避免越界。
⚙ 开始做这道题 0 人做过 · 0 收藏 · 9 浏览

讨论(0)