返回首页 返回题库

黑白方块

C++ 简单 GESP四级真题 #数组#二维数组#枚举#GESP编程题

题目描述

题面描述

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

小杨想知道网格图中是否存在一个满足如下条件的子矩形:

  • 子矩形由4行4列组成;
  • 子矩形的第1行和第4行只包含白色格子;
  • 对于子矩形的第2行和第3行,只有第1个和第4个格子是白色的,其余格子都是黑色的;

请你编写程序帮助小杨判断。

输入格式

第一行包含一个正整数 ,代表测试用例组数。

接下来是 组测试用例。对于每组测试用例,一共 行。

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

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

输出格式

对于每组测试用例,如果存在,输出Yes,否则输出No。

样例1

输入:

3
1 4
0110
5 5
00000
01100
01100
00001
01100
5 5
00000
01100
01110
00001
01100

输出:

No
Yes
No

样例解释

满足条件的子矩形形如:

0000
0110
0110
0000

数据范围

对于全部数据,保证有 。

时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
本题核心考察二维数组的枚举操作,解题思路是枚举所有可能的子矩形,统计每个子矩形内黑白格子的数量,判断是否平衡并记录最大面积。需要注意边界条件:当没有平衡子矩形时输出0。
⚙ 开始做这道题 0 人做过 · 0 收藏 · 9 浏览

讨论(0)