AT_joi2025_yo2_a マスキングテープ (Masking Tape)
题目描述
JOI 君正在用纸和遮蔽胶带玩涂色游戏。
纸是一张矩形,上面画有 $H$ 行 $W$ 列的格子。从上到下第 $i$ 行($1 \leq i \leq H$),从左到右第 $j$ 列($1 \leq j \leq W$)的格子称为格子 $(i, j)$。
每个格子都有一种颜色。颜色用整数表示,初始时所有格子的颜色均为 $0$。
JOI 君会用纸和遮蔽胶带进行 $Q$ 次操作。第 $k$ 次操作($1 \leq k \leq Q$)根据整数 $q_k$ 的值按如下方式描述:
- 当 $q_k = 1$ 时,此操作由整数 $x_k, y_k, c_k$ 给出。对于格子 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$,如果该格子尚未被遮蔽胶带覆盖,则将其颜色改为 $c_k$。如果格子已被遮蔽胶带覆盖,则该格子不做任何处理。
- 当 $q_k = 2$ 时,此操作由整数 $x_k, y_k$ 给出。用遮蔽胶带覆盖格子 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$。
所有 $Q$ 次操作结束后,揭掉所有遮蔽胶带。需要注意的是,揭掉某格子上的遮蔽胶带后,该格子的颜色会恢复为被胶带覆盖前的颜色。
给定 $Q$ 次操作的信息,请编写程序求出最终纸上所有格子的颜色。
输入格式
输入按以下格式给出。
> $H$ $W$ $Q$
> ($Query\:1$)
> ($Query\:2$)
> $\vdots$
> ($Query\:Q$)
每个($Query\:k$)($1 \leq k \leq Q$)都是若干个用空格分隔的整数。第一个整数为 $q_k$,具体内容如下:
- 当 $q_k = 1$ 时,该行后接 $x_k, y_k, c_k$ 共 3 个整数,用空格分隔。
- 当 $q_k = 2$ 时,该行后接 $x_k, y_k$ 共 2 个整数,用空格分隔。
输出格式
请输出最终纸上所有格子的颜色,共 $H$ 行。第 $i$ 行($1 \leq i \leq H$)输出 $W$ 个整数,中间用空格分开。第 $j$ 项($1 \leq j \leq W$)为格子 $(i, j)$ 的颜色。
说明/提示
## 小子任务
1.($32$ 分)$H = 2$,$W = 2$,且所有 $q_k = 1$($1 \leq k \leq Q$)。
2.($32$ 分)所有 $q_k = 1$($1 \leq k \leq Q$)。
3.($36$ 分)无其他额外限制。
## 样例解释 1
我们按照顺序来看 $4$ 次操作。
第 $1$ 次操作,$q_1=1$。此时格子 $(2,2)$、$(2,3)$、$(3,2)$、$(3,3)$ 均未被遮蔽胶带覆盖,所以都被涂成颜色 $1$。
此时的纸面如下所示:
```
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
```
第 $2$ 次操作,$q_2=2$。将 $(1,2)$、$(1,3)$、$(2,2)$、$(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
```
第 $3$ 次操作,$q_3=2$。将 $(3,3)$、$(3,4)$、$(4,3)$、$(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
```
第 $4$ 次操作,$q_4=1$。$(1,4)$ 和 $(2,4)$ 两个格子未被胶带覆盖,所以颜色被改为 $5$;$(1,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 \leq H \leq 500$。
- $2 \leq W \leq 500$。
- $1 \leq Q \leq 200\,000$。
- $q_k$ 为 $1$ 或 $2$($1 \leq k \leq Q$)。
- 当 $q_k=1$ 时,$1 \leq x_k \leq H-1$,$1 \leq y_k \leq W-1$,$1 \leq c_k \leq 10^9$。
- 当 $q_k=2$ 时,$1 \leq x_k \leq H-1$,$1 \leq y_k \leq W-1$。
- 输入的所有数均为整数。
由 ChatGPT 5 翻译