#4881. 盖印章
盖印章
题目描述
给定一个 的网格,每个格子要么被占用(1),要么是空白(0)。你有一个高度为 、宽度为 的矩形印章,只能覆盖空白格子。你可以多次盖章,印章可以重叠,但每次盖章必须完全在网格边界内,且覆盖区域内不能有任何被占用的格子。
问能否通过若干次盖章,使得所有空白格子都被覆盖至少一次。
输入格式
第一行包含两个整数 ,表示网格的行数和列数。
接下来 行,每行 个整数(0 或 1),描述网格状态。
最后一行包含两个整数 ,表示印章的高度和宽度。
输出格式
如果能够覆盖所有空白格子,输出 true;否则输出 false。
样例
5 4
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
4 3
true
样例解释
网格中 1 表示占用,0 表示空白。印章大小为 。
第一次盖章覆盖第 行、第 列的区域(全部为空白);第二次盖章覆盖第 行、第 列的区域(其中第一行为占用,但印章从第 行开始,区域内均为空白或已被覆盖)。最终所有空白格子均被覆盖,故输出 true。
4 4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
2 2
false
样例解释
印章大小为 ,无论如何放置,都无法覆盖到所有空白格子而不碰到占用格子,故输出 false。
数据范围
- ,
grid[i][j]为0或1
相关
在以下作业中: