CF508A Pasha and Pixels
题目描述
Pasha 很喜欢他的手机,也喜欢把头发扎起来……但头发现在和这题无关。
Pasha 在他的手机上安装了一个新游戏。游戏的目标如下:有一个由 $n$ 行、每行 $m$ 个像素组成的矩形区域。最初,所有像素都是白色的。在一次操作中,Pasha 可以选择任意一个像素,将其涂成黑色。特别地,他也可以选择已经是黑色的像素,这样在他的操作后该像素仍然保持黑色不变。当出现一个由黑色像素组成的 $2\times 2$ 正方形时,Pasha 就会输掉游戏。
Pasha 已经制定了一个共 $k$ 步的操作计划,依次指定他要涂黑的像素。每一步都由一对数字 $i$ 和 $j$ 表示,分别代表当前操作要涂黑的像素所在的行和列。
请你判断如果 Pasha 按照他的计划进行操作,是否会输掉游戏。如果会,请输出首次出现由黑色像素组成的 $2\times 2$ 正方形是在第几步操作时发生的。
输入格式
输入第一行包含三个整数 $n, m, k$($1 \leq n, m \leq 1000$,$1 \leq k \leq 10^{5}$),分别表示行数、列数和操作步数。
接下来的 $k$ 行,每行包含两个整数 $i$ 和 $j$($1 \leq i \leq n$,$1 \leq j \leq m$),表示每一步操作中要涂黑的像素所在的行和列。
输出格式
如果 Pasha 输了,输出第一次出现由黑色像素组成的 $2\times 2$ 正方形是在第几步操作时发生的。
如果在给定的 $k$ 步操作中始终没有出现这样的 $2\times 2$ 黑色正方形,输出 $0$。
说明/提示
由 ChatGPT 5 翻译