GESP编程共123题,本题是整站第1432题,已经有人完成了本题,加油!
小杨有一个 n 行 m 列的网格图,其中每个格子要么是白色,要么是黑色。对于网格图中的一个子矩形,小杨认为它是平衡的当且仅当其中黑色格子与白色格子数量相同。小杨想知道最大的平衡子矩形包含了多少个格子。
第一行包含两个正整数 n,m,含义如题面所示。
之后 n 行,每行一个长度为 m 的 01 串,代表网格图第 i 行格子的颜色,如果为 0,则对应格子为白色,否则为黑色。
输出一个整数,代表最大的平衡子矩形包含格子的数量,如果不存在则输出 0。
输入 #1
4 5 00000 01111 00011 00011
输出 #1
16
【样例解释】
对于样例 1,假设 (i,j) 代表第 i 行第 j 列,最大的平衡子矩形的四个顶点分别为 (1,2),(1,5),(4,2),(4,5)。
【数据范围】
对于全部数据,保证有 1≤n,m≤10。
【解题思路】
1. 定义二维数组,存储将要输入的网格数据;
2. 将要匹配的模版矩形初始化,4X4的二维数组;
3. 使用循环遍历网格数据中每一个可能的4X4子矩形,检查从位置(i,j)开始的子矩形是否与之前定义好的模版匹配
进行判断,输出结果
【参考程序】
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。