编程题
### 问题描述 冬天到了,一起快乐的滑冰吧! 蓝桥冰场是一个 $n \times m$ 的矩形,可以看成 $n$ 行 $m$ 列的小矩形组成。 第 $i$ 行第 $j$ 列的位置被描述成 $(i,j)$。 为了防止滑冰场内太冷,滑冰场的老板小蓝在 $t$ 个位置放置了暖气炉,由于蓝桥冰场的冰是特殊材质,所以你并不用担心冰会融化。 每个暖气炉会产生暖气。在放置时,放置的位置就已经被暖气覆盖。每经过一秒,存在暖气的格子会传播暖气到周围的格子。具体来说,如果 $(x, y)$ 存在暖气,那么一秒之后,$(x-1, y),(x+1, y),(x, y-1),(x, y+1),(x-1, y-1),(x-1, y+1),(x+1, y-1),(x+1, y+1)$ 八个位置也会被暖气覆盖。 **需要注意的是**,超过边界的位置不会被暖气覆盖,多余的暖气也不会传播到其他格子(具体见样例说明)。 小蓝告诉你,他放置暖气炉的位置 $(x_1, y_1), (x_2, y_2), ..., (x_t, y_t)$,你需要告诉小蓝,经过多久之后,整个冰场都会被暖气覆盖。 如果你成功回答问题,小蓝就会送给你一张蓝桥冰场的优惠券。 ### 输入格式 第一行输入三个整数 $n, m, t$。($1 \le n , m \le 10^3,1 \le t \le n\times m$)。 接下来 $t$ 行,每行两个整数 $x_i, y_i$,代表每个暖气炉的位置,保证每个位置不会出现两次。($1 \le x_i \le n, 1 \le y_i \le m$)。 ### 输出格式 输出一个整数,代表暖气覆盖冰场的最小时间,单位为秒。 ### 样例输入 ```bash 4 4 2 1 1 3 3 ``` ### 样例输出 ```bash 2 ``` ### 说明 我们用 $0$ 表示未覆盖暖气,$1$ 表示已覆盖暖气。 $$ \left[ \begin{matrix} 1 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 \\\\ 0 & 0 & 0 & 0 \end{matrix} \right] \underset{1s}{\Longrightarrow} \left[ \begin{matrix} 1 & 1 & 0 & 0 \\\\ 1 & 1 & 1 & 1 \\\\ 0 & 1 & 1 & 1 \\\\ 0 & 1 & 1 & 1 \end{matrix} \right] \underset{2s}{\Longrightarrow} \left[ \begin{matrix} 1 & 1 & 1 & 1 \\\\ 1 & 1 & 1 & 1 \\\\ 1 & 1 & 1 & 1 \\\\ 1 & 1 & 1 & 1 \end{matrix} \right] $$
查看答案
赣ICP备20007335号-2