luogu#P8427. [COCI2020] Paint

[COCI2020] Paint

题目描述

你一定用过画图软件的一键填充功能吧?如果拓展到像素层面中,如果一个大连通块内所有像素的颜色相同,那么将一个像素染色,那么整个连通块内的所有像素都会被染色。

现在给定一个 R×SR\times S 的像素图,给定 QQ 个染色操作:

  • (ri,si)(r_i,s_i) 染为颜色 cic_i

求染色过后的整个像素图。

输入格式

第一行两个整数 R,SR,S 代表像素图大小。
接下来 RR 行每行 SS 个整数,代表像素图的初始颜色。
R+2R+2 行一个整数 QQ 代表操作个数。
接下来 QQ 行每行三个整数 ri,si,cir_i,s_i,c_i 代表一次染色操作。

输出格式

RR 行每行 SS 个整数代表染色后的像素图。

12 11
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 0 0 1 1 1 1
1 1 1 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 1 1
1 0 0 0 2 2 2 0 0 0 1
1 0 0 0 2 2 2 0 0 0 1
1 0 0 0 2 2 2 0 0 0 1
1 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 2 0 0 0 1 1
0 1 1 0 0 2 0 0 1 1 0
0 0 1 1 0 0 0 1 1 0 0
0 0 0 1 1 1 1 1 0 0 0
2
5 5 3
6 2 4
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 4 4 4 1 1 1 1
1 1 1 4 4 4 4 4 1 1 1
1 1 4 4 4 4 4 4 4 1 1
1 4 4 4 3 3 3 4 4 4 1
1 4 4 4 3 3 3 4 4 4 1
1 4 4 4 3 3 3 4 4 4 1
1 4 4 4 4 4 4 4 4 4 1
1 1 4 4 4 2 4 4 4 1 1
0 1 1 4 4 2 4 4 1 1 0
0 0 1 1 4 4 4 1 1 0 0
0 0 0 1 1 1 1 1 0 0 0
4 4
1 0 1 3
1 3 2 2
3 3 1 2
2 2 1 3
3
1 2 3
3 2 1
4 2 3
1 1 1 3
1 1 2 2
1 1 1 2
3 3 1 3
6 6
1 2 1 2 2 2
3 1 2 1 3 1
3 3 2 3 2 2
2 3 1 3 3 2
3 3 3 3 3 3
2 3 2 2 2 1
4
6 2 2
3 5 2
3 2 3
1 2 3
1 3 1 2 2 2
3 1 3 1 3 1
3 3 3 3 3 3
3 3 1 3 3 3
3 3 3 3 3 3
3 3 3 3 3 1

提示

样例 1 解释

假设 00 为白色,11 为红色,22 为蓝色,33 为绿色,44 为黄色,那么如下图所示:

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(8 pts):1R×S1041 \le R \times S \le 10^41Q1041 \le Q \le 10^4
  • Subtask 2(9 pts):R=1R=11S2×1051 \le S \le 2 \times 10^51Q1051 \le Q \le 10^5
  • Subtask 3(31 pts):1R×S2×1051 \le R \times S \le 2 \times 10^51Q1051 \le Q \le 10^5,颜色只有 0011
  • Subtask 4(52 pts):1R×S2×1051 \le R \times S \le 2 \times 10^51Q1051 \le Q \le 10^5

对于 100%100\% 的数据,1riR1 \le r_i \le R1siS1 \le s_i \le S0ci1050 \le c_i \le 10^5,颜色区间为 [0,105][0,10^5]

说明

翻译自 Croatian Olympiad in Informatics 2020 A Paint