AT_abc436_c.[ABC436C] 2x2 Placing
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个 N 行 N 列的网格。令 (i,j) 表示从上到下第 i 行、从左到右第 j 列的格子。最初,网格上没有放置任何物品。
你将进行 M 次操作。第 i 次操作(1≤i≤M)如下:
- 如果以单元格 (Ri,Ci) 为左上角的 2×2 区域上没有任何已放置的方块,就在该区域放置一个方块。更具体地说,对于 S={(Ri,Ci),(Ri+1,Ci),(Ri,Ci+1),(Ri+1,Ci+1)},如果这四个格子中有任意一个已经被其他方块占用,则不进行任何操作;否则,在 S 所有四个格子上放置一个方块。
请在所有操作结束后,求最终共放置了多少个方块。
输入格式
输入从标准输入读入,格式如下:
N M
R1 C1
R2 C2
⋮
RM CM
输出格式
输出答案。
输入输出样例
输入#1
4 3 1 1 2 2 2 3
输出#1
2
输入#2
1000000000 4 1 1 1 101 101 1 101 101
输出#2
4
输入#3
8 10 6 5 7 3 6 7 3 4 4 2 3 7 1 3 7 4 6 1 6 1
输出#3
8
说明/提示
样例解释 1
下图展示了操作过程,黑色区域表示已放置的方块,红色方框表示下一步将要尝试放置方块的位置。

- 操作 1:选中以 (1,1) 为左上角的 2×2 区域,没有格子被占用,因此放置方块。
- 操作 2:以 (2,2) 为左上角的 2×2 区域中,(2,2) 这个格子已被方块占用,所以不放置。
- 操作 3:以 (2,3) 为左上角的 2×2 区域中没有格子被占用,因此放置方块。
因此,所有操作结束后共放置了 2 个方块。
样例解释 2
每次操作都可以成功放置一个方块。
样例解释 3
可能存在 i,j (i=j) 使得 (Ri,Ci)=(Rj,Cj)。
数据范围
- 2≤N≤109
- 1≤M≤2×105
- 1≤Ri,Ci≤N−1
- 所有输入值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?