AT_abc436_c [ABC436C] 2x2 Placing

题目描述

有一个 $N$ 行 $N$ 列的网格。令 $(i,j)$ 表示从上到下第 $i$ 行、从左到右第 $j$ 列的格子。最初,网格上没有放置任何物品。 你将进行 $M$ 次操作。第 $i$ 次操作($1\leq i\leq M$)如下: - 如果以单元格 $(R_i,C_i)$ 为左上角的 $2\times 2$ 区域上没有任何已放置的方块,就在该区域放置一个方块。更具体地说,对于 $S=\lbrace (R_i,C_i),(R_i+1,C_i),(R_i,C_i+1),(R_i+1,C_i+1)\rbrace$,如果这四个格子中有任意一个已经被其他方块占用,则不进行任何操作;否则,在 $S$ 所有四个格子上放置一个方块。 请在所有操作结束后,求最终共放置了多少个方块。

输入格式

输入从标准输入读入,格式如下: $N$ $M$ $R_1$ $C_1$ $R_2$ $C_2$ $\vdots$ $R_M$ $C_M$

输出格式

输出答案。

说明/提示

### 样例解释 1 下图展示了操作过程,黑色区域表示已放置的方块,红色方框表示下一步将要尝试放置方块的位置。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc436_c/1cf1acf0dbdf181f14fe3a27f5957584536d347fe7db4690c070830b041aa055.png) - 操作 1:选中以 $(1,1)$ 为左上角的 $2\times 2$ 区域,没有格子被占用,因此放置方块。 - 操作 2:以 $(2,2)$ 为左上角的 $2\times 2$ 区域中,$(2,2)$ 这个格子已被方块占用,所以不放置。 - 操作 3:以 $(2,3)$ 为左上角的 $2\times 2$ 区域中没有格子被占用,因此放置方块。 因此,所有操作结束后共放置了 $2$ 个方块。 ### 样例解释 2 每次操作都可以成功放置一个方块。 ### 样例解释 3 可能存在 $i,j\ (i\neq j)$ 使得 $(R_i,C_i)=(R_j,C_j)$。 ### 数据范围 - $2\leq N \leq 10^9$ - $1\leq M \leq 2\times 10^5$ - $1\leq R_i,C_i \leq N-1$ - 所有输入值均为整数。 由 ChatGPT 5 翻译