AT_abc436_c.[ABC436C] 2x2 Placing

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个 NN 行 NN 列的网格。令 (i,j)(i,j) 表示从上到下第 ii 行、从左到右第 jj 列的格子。最初,网格上没有放置任何物品。

你将进行 MM 次操作。第 ii 次操作(1≤i≤M1\leq i\leq M)如下:

  • 如果以单元格 (Ri,Ci)(R_i,C_i) 为左上角的 2×22\times 2 区域上没有任何已放置的方块,就在该区域放置一个方块。更具体地说,对于 S={(Ri,Ci),(Ri+1,Ci),(Ri,Ci+1),(Ri+1,Ci+1)}S=\lbrace (R_i,C_i),(R_i+1,C_i),(R_i,C_i+1),(R_i+1,C_i+1)\rbrace,如果这四个格子中有任意一个已经被其他方块占用,则不进行任何操作;否则,在 SS 所有四个格子上放置一个方块。

请在所有操作结束后,求最终共放置了多少个方块。

输入格式

输入从标准输入读入,格式如下:

NN MM
R1R_1 C1C_1
R2R_2 C2C_2
⋮\vdots
RMR_M CMC_M

输出格式

输出答案。

输入输出样例

  • 输入#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)(1,1) 为左上角的 2×22\times 2 区域,没有格子被占用,因此放置方块。
  • 操作 2:以 (2,2)(2,2) 为左上角的 2×22\times 2 区域中,(2,2)(2,2) 这个格子已被方块占用,所以不放置。
  • 操作 3:以 (2,3)(2,3) 为左上角的 2×22\times 2 区域中没有格子被占用,因此放置方块。

因此,所有操作结束后共放置了 22 个方块。

样例解释 2

每次操作都可以成功放置一个方块。

样例解释 3

可能存在 i,j (i≠j)i,j\ (i\neq j) 使得 (Ri,Ci)=(Rj,Cj)(R_i,C_i)=(R_j,C_j)。

数据范围

  • 2≤N≤1092\leq N \leq 10^9
  • 1≤M≤2×1051\leq M \leq 2\times 10^5
  • 1≤Ri,Ci≤N−11\leq R_i,C_i \leq N-1
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页