AT_nikkei2019_2_final_c Largest N

题目描述

有一个 $H$ 行 $W$ 列的网格,每个格子被涂成黑色或白色。第 $i$ 行从上往下数,第 $j$ 列从左往右数,格子 $(i,\,j)$ 表示第 $i$ 行第 $j$ 列的格子。 格子 $(a_i,\,b_i)\ (1 \leq i \leq K)$ 被涂成白色,其余 $H \times W - K$ 个格子都被涂成黑色。 对于任意大于等于 $1$ 的整数 $k$,如果存在整数 $i,\,j$ 满足以下条件,则称网格中包含大小为 $k$ 的 “N”: - 所有格子 $(i + t,\,j)\ (0 \leq t < k)$ 都是黑色; - 所有格子 $(i + t,\,j + t)\ (0 \leq t < k)$ 都是黑色; - 所有格子 $(i + t,\,j + k - 1)\ (0 \leq t < k)$ 都是黑色; 并且,这些条件涉及到的所有格子都必须在 $H$ 行 $W$ 列的网格范围内。 请你求出网格中所包含的 “N” 的最大尺寸。如果不存在任何尺寸的 “N”,请输出 $0$。

输入格式

输入通过标准输入给出,格式如下: > $H$ $W$ $K$ $a_1$ $b_1$ $a_2$ $b_2$ $\cdots$ $a_K$ $b_K$

输出格式

请输出网格中所包含的 “N” 的最大尺寸。

说明/提示

### 限制条件 - $1 \leq H,\,W \leq 3000$ - $0 \leq K \leq \min(H \times W,\,2 \times 10^5)$ - $1 \leq a_i \leq H$ - $1 \leq b_i \leq W$ - $(a_i,\,b_i) \neq (a_j,\,b_j)\ (i \neq j)$ - 所有输入均为整数 ### 样例解释 1 网格如下所示(`#` 表示黑色,`.` 表示白色): ``` ##.# #### ##.# ``` 此时,取 $i=1,\,j=2$,对于 $k=3$ 满足条件,因此该网格包含尺寸为 $3$ 的 “N”,且这是最大尺寸。 ### 样例解释 2 网格如下所示: ``` .. .. ``` 不包含任何尺寸的 “N”,因此输出 $0$。 ### 样例解释 3 网格如下所示: ``` .# #. ``` 取 $i=2,\,j=1$ 或 $i=1,\,j=2$,对于 $k=1$ 满足条件。 ### 样例解释 4 网格如下所示: ``` ##.# ##.# #.## #..# ``` 由 ChatGPT 4.1 翻译