#y1050. 邮票问题

邮票问题

【提示】
本题数据量过大,请用快读程序(快读模板在末尾)
给你一个 m x n 的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据)。

给你邮票的尺寸为 Height x Width 。我们想将邮票贴进二进制矩阵中,且满足以下 限制和要求 :

1.覆盖所有空格子。

2.不覆盖任何被占据的格子。

3.我们可以放入任意数目的邮票。

4.邮票可以相互有重叠部分。

5.邮票不允许旋转 。

6.邮票必须完全在矩阵内 。

如果在满足上述要求的前提下,可以放入邮票,请输出 1 ,否则输出0 。

示例 1: image

输入样例1:

4 4

1 0 0 0

1 0 0 0

1 0 0 0

1 0 0 0

4 3

输出样例:

1

示例2:

image

输入样例2:

4 4

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

4 3

输出样例:

0 数据规模:

1 <= m, n <= 10^4

1 <= m * n <= 2 * 10^4

grid[r][c] 要么是 0 ,要么是 1 。

1 <= Height, Width <= 10^4

快读程序:
inline int read()

{

int x = 0, f = 1;

char c = getchar();

while (c < '0' || c > '9')

{

if (c == '-') f = -1;

c = getchar();

}

while (c >= '0' && c <= '9')

{

x = x * 10 + c - '0';

c = getchar();

}

return x * f;

}