AT_joi2025_yo2_a.マスキングテープ (Masking Tape)

通过率:0%

AC君温馨提醒

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

题目描述

JOI 君正在用纸和遮蔽胶带玩涂色游戏。

纸是一张矩形,上面画有 HH 行 WW 列的格子。从上到下第 ii 行(1≤i≤H1 \leq i \leq H),从左到右第 jj 列(1≤j≤W1 \leq j \leq W)的格子称为格子 (i,j)(i, j)。

每个格子都有一种颜色。颜色用整数表示,初始时所有格子的颜色均为 00。

JOI 君会用纸和遮蔽胶带进行 QQ 次操作。第 kk 次操作(1≤k≤Q1 \leq k \leq Q)根据整数 qkq_k 的值按如下方式描述:

  • 当 qk=1q_k = 1 时,此操作由整数 xk,yk,ckx_k, y_k, c_k 给出。对于格子 (xk,yk)(x_k, y_k)、(xk+1,yk)(x_k + 1, y_k)、(xk,yk+1)(x_k, y_k + 1)、(xk+1,yk+1)(x_k + 1, y_k + 1),如果该格子尚未被遮蔽胶带覆盖,则将其颜色改为 ckc_k。如果格子已被遮蔽胶带覆盖,则该格子不做任何处理。
  • 当 qk=2q_k = 2 时,此操作由整数 xk,ykx_k, y_k 给出。用遮蔽胶带覆盖格子 (xk,yk)(x_k, y_k)、(xk+1,yk)(x_k + 1, y_k)、(xk,yk+1)(x_k, y_k + 1)、(xk+1,yk+1)(x_k + 1, y_k + 1)。

所有 QQ 次操作结束后,揭掉所有遮蔽胶带。需要注意的是,揭掉某格子上的遮蔽胶带后,该格子的颜色会恢复为被胶带覆盖前的颜色。

给定 QQ 次操作的信息,请编写程序求出最终纸上所有格子的颜色。

输入格式

输入按以下格式给出。

HH WW QQ
(Query 1Query\:1)
(Query 2Query\:2)
⋮\vdots
(Query QQuery\:Q)

每个(Query kQuery\:k)(1≤k≤Q1 \leq k \leq Q)都是若干个用空格分隔的整数。第一个整数为 qkq_k,具体内容如下:

  • 当 qk=1q_k = 1 时,该行后接 xk,yk,ckx_k, y_k, c_k 共 3 个整数,用空格分隔。
  • 当 qk=2q_k = 2 时,该行后接 xk,ykx_k, y_k 共 2 个整数,用空格分隔。

输出格式

请输出最终纸上所有格子的颜色,共 HH 行。第 ii 行(1≤i≤H1 \leq i \leq H)输出 WW 个整数,中间用空格分开。第 jj 项(1≤j≤W1 \leq j \leq W)为格子 (i,j)(i, j) 的颜色。

输入输出样例

  • 输入#1

    5 5 4
    1 2 2 1
    2 1 2
    2 3 3
    1 1 3 5

    输出#1

    0 0 0 5 0
    0 1 1 5 0
    0 1 1 0 0
    0 0 0 0 0
    0 0 0 0 0
  • 输入#2

    5 5 3
    1 1 1 2
    1 3 3 3
    1 2 4 2

    输出#2

    2 2 0 0 0
    2 2 0 2 2
    0 0 3 2 2
    0 0 3 3 0
    0 0 0 0 0
  • 输入#3

    10 10 10
    2 5 7
    2 5 6
    1 5 6 1
    1 9 2 1
    2 1 1
    1 2 4 2
    2 3 2
    1 2 2 3
    1 9 9 2
    1 8 8 1

    输出#3

    0 0 0 0 0 0 0 0 0 0
    0 0 3 2 2 0 0 0 0 0
    0 0 0 2 2 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 1 1 0
    0 1 1 0 0 0 0 1 1 2
    0 1 1 0 0 0 0 0 2 2

说明/提示

小子任务

1.(3232 分)H=2H = 2,W=2W = 2,且所有 qk=1q_k = 1(1≤k≤Q1 \leq k \leq Q)。
2.(3232 分)所有 qk=1q_k = 1(1≤k≤Q1 \leq k \leq Q)。
3.(3636 分)无其他额外限制。

样例解释 1

我们按照顺序来看 44 次操作。

第 11 次操作,q1=1q_1=1。此时格子 (2,2)(2,2)、(2,3)(2,3)、(3,2)(3,2)、(3,3)(3,3) 均未被遮蔽胶带覆盖,所以都被涂成颜色 11。

此时的纸面如下所示:

0  0  0  0  0
0  1  1  0  0
0  1  1  0  0
0  0  0  0  0
0  0  0  0  0

第 22 次操作,q2=2q_2=2。将 (1,2)(1,2)、(1,3)(1,3)、(2,2)(2,2)、(2,3)(2,3) 这四个格子都覆盖上遮蔽胶带。

此时纸面如下,用 “*” 表示被胶带覆盖的格子:

0  0* 0* 0  0
0  1* 1* 0  0
0  1  1  0  0
0  0  0  0  0
0  0  0  0  0

第 33 次操作,q3=2q_3=2。将 (3,3)(3,3)、(3,4)(3,4)、(4,3)(4,3)、(4,4)(4,4) 这四个格子覆盖遮蔽胶带。

此时纸面如下:

0  0* 0* 0  0
0  1* 1* 0  0
0  1  1* 0* 0
0  0  0* 0* 0
0  0  0  0  0

第 44 次操作,q4=1q_4=1。(1,4)(1,4) 和 (2,4)(2,4) 两个格子未被胶带覆盖,所以颜色被改为 55;(1,3)(1,3) 和 (2,3)(2,3) 被遮蔽胶带覆盖,没有任何变化。

此时纸面如下:

0  0* 0* 5  0
0  1* 1* 5  0
0  1  1* 0* 0
0  0  0* 0* 0
0  0  0  0  0

因此最终纸上所有格子的颜色如样例输出所示。

本样例满足小子任务 3 的限制。

样例解释 2

本样例满足小子任务 2、3 的限制。

样例解释 3

本样例满足小子任务 3 的限制。

数据范围与约定

  • 2≤H≤5002 \leq H \leq 500。
  • 2≤W≤5002 \leq W \leq 500。
  • 1≤Q≤200 0001 \leq Q \leq 200\,000。
  • qkq_k 为 11 或 22(1≤k≤Q1 \leq k \leq Q)。
  • 当 qk=1q_k=1 时,1≤xk≤H−11 \leq x_k \leq H-1,1≤yk≤W−11 \leq y_k \leq W-1,1≤ck≤1091 \leq c_k \leq 10^9。
  • 当 qk=2q_k=2 时,1≤xk≤H−11 \leq x_k \leq H-1,1≤yk≤W−11 \leq y_k \leq W-1。
  • 输入的所有数均为整数。

由 ChatGPT 5 翻译

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

首页