P8427 [COI 2020] Paint

题目描述

你一定用过画图软件的一键填充功能吧?如果拓展到像素层面中,如果一个大连通块内所有像素的颜色相同,那么将一个像素染色,那么整个连通块内的所有像素都会被染色。 现在给定一个 $R\times S$ 的像素图,给定 $Q$ 个染色操作: - 将 $(r_i,s_i)$ 染为颜色 $c_i$。 求染色过后的整个像素图。

输入格式

第一行两个整数 $R,S$ 代表像素图大小。 接下来 $R$ 行每行 $S$ 个整数,代表像素图的初始颜色。 第 $R+2$ 行一个整数 $Q$ 代表操作个数。 接下来 $Q$ 行每行三个整数 $r_i,s_i,c_i$ 代表一次染色操作。

输出格式

$R$ 行每行 $S$ 个整数代表染色后的像素图。

说明/提示

#### 样例 1 解释 假设 $0$ 为白色,$1$ 为红色,$2$ 为蓝色,$3$ 为绿色,$4$ 为黄色,那么如下图所示: ![](https://cdn.luogu.com.cn/upload/image_hosting/4hvovfq7.png) #### 数据规模与约定 **本题采用捆绑测试。** - Subtask 1(8 pts):$1 \le R \times S \le 10^4$,$1 \le Q \le 10^4$。 - Subtask 2(9 pts):$R=1$,$1 \le S \le 2 \times 10^5$,$1 \le Q \le 10^5$。 - Subtask 3(31 pts):$1 \le R \times S \le 2 \times 10^5$,$1 \le Q \le 10^5$,颜色只有 $0$ 和 $1$。 - Subtask 4(52 pts):$1 \le R \times S \le 2 \times 10^5$,$1 \le Q \le 10^5$。 对于 $100\%$ 的数据,$1 \le r_i \le R$,$1 \le s_i \le S$,$0 \le c_i \le 10^5$,颜色区间为 $[0,10^5]$。 #### 说明 翻译自 [Croatian Olympiad in Informatics 2020 A Paint](https://hsin.hr/coci/archive/2019_2020/olympiad_tasks.pdf)。