#4575. 用邮票贴满网格图

    ID: 4575 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>难度普及/提高-基础算法前缀和与差分二维差分

用邮票贴满网格图

题目描述

给你一个 m×nm \times n 的二进制矩阵 gridgrid ,每个格子要么为 00 (空)要么为 11 (被占据)。

给你邮票的尺寸为 stampHeight×stampWidthstampHeight \times stampWidth 。我们想将邮票贴进二进制矩阵中,且满足以下 限制 和 要求 :

  1. 覆盖所有  格子。
  2. 不覆盖任何 被占据 的格子。
  3. 我们可以放入任意数目的邮票。
  4. 邮票可以相互有 重叠 部分。
  5. 邮票不允许 旋转 。
  6. 邮票必须完全在矩阵  。

如果在满足上述要求的前提下,可以放入邮票,请返回 truetrue ,否则返回 falsefalse 。

输入格式

第一行两个整数,表示 行与列。

接下来的 mm 行,每行 nn 个 0 或 1 组成的串;

最后一行两个整数表示邮票的尺寸 stampHeightstampHeightstampWidthstampWidth

输出格式

一行表示答案。

示例 1:

5 4
1000
1000
1000
1000
1000
4 3
true

解释: 我们放入两个有重叠部分的邮票(图中标号为 1 和 2),它们能覆盖所有与空格子。

示例 2:

4 4
1000
0100
0010
0001
2 2
false

解释: 没办法放入邮票覆盖所有的空格子,且邮票不超出网格图以外。

提示:

  • 1<=m,n<=1051 <= m, n <= 10^5
  • 1<=m×n<=21051 <= m \times n <= 2 * 10^5
  • grid[r][c]grid[r][c] 要么是 00 ,要么是 11
  • 1<=stampHeight,stampWidth<=1051 <= stampHeight, stampWidth <= 10^5

SOURCE

2132. 用邮票贴满网格图

}