[COI 2020] Paint

Luogu
IDLGP8427
Time3000ms
Memory500MB
DifficultyP7
2020COI(克罗地亚)
你一定用过画图软件的一键填充功能吧?如果拓展到像素层面中,如果一个大连通块内所有像素的颜色相同,那么将一个像素染色,那么整个连通块内的所有像素都会被染色。 现在给定一个 $R\times S$ 的像素图,给定 $Q$ 个染色操作: - 将 $(r_i,s_i)$ 染为颜色 $c_i$。 求染色过后的整个像素图。 ## Input 第一行两个整数 $R,S$ 代表像素图大小。 接下来 $R$ 行每行 $S$ 个整数,代表像素图的初始颜色。 第 $R+2$ 行一个整数 $Q$ 代表操作个数。 接下来 $Q$ 行每行三个整数 $r_i,s_i,c_i$ 代表一次染色操作。 ## Output $R$ 行每行 $S$ 个整数代表染色后的像素图。 [samples] ## Note #### 样例 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)。
Samples
Input #1
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
Output #1
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
Input #2
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
Output #2
1 1 1 3
1 1 2 2
1 1 1 2
3 3 1 3
Input #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
Output #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
API Response (JSON)
{
  "problem": {
    "name": "[COI 2020] Paint",
    "description": {
      "content": "你一定用过画图软件的一键填充功能吧?如果拓展到像素层面中,如果一个大连通块内所有像素的颜色相同,那么将一个像素染色,那么整个连通块内的所有像素都会被染色。 现在给定一个 $R\\times S$ 的像素图,给定 $Q$ 个染色操作: - 将 $(r_i,s_i)$ 染为颜色 $c_i$。 求染色过后的整个像素图。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 512000
    },
    "difficulty": {
      "LuoguStyle": "P7"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8427"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "你一定用过画图软件的一键填充功能吧?如果拓展到像素层面中,如果一个大连通块内所有像素的颜色相同,那么将一个像素染色,那么整个连通块内的所有像素都会被染色。\n\n现在给定一个 $R\\times S$ 的像素图,给定 $Q$ 个染色操作:\n\n- 将 $(r_i,s_i)$ 染为颜色 $c_i$。\n\n求染色过后的整个像素图。\n\n## Input\n\n第一行两个整数 $R,S$ 代表像素图大小。       ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments