CF631B Print Check
题目描述
Kris 在一家大型公司 “Blake Technologies” 工作。作为公司最优秀的工程师,他被指派开发一台能够打印水平和垂直条纹的打印机。首个原型已经完成,Kris 想要对其进行测试。他希望你实现一个程序,检查打印的结果。
打印机在一张尺寸为 $n \times m$ 的矩形纸张上工作。可以将此纸张视作一个包含 $n$ 行 $m$ 列的表格。行从上到下编号为 $1$ 到 $n$,列从左到右编号为 $1$ 到 $m$。最初,所有单元格的颜色都是 $0$。
你的程序需要支持两种操作:
1. 将第 $r_{i}$ 行的所有单元格涂成颜色 $a_{i}$;
2. 将第 $c_{i}$ 列的所有单元格涂成颜色 $a_{i}$。
如果在某次操作 $i$ 时某个单元格已经被涂过色,颜色也会被更改为 $a_{i}$。
你的程序需要在所有 $k$ 次操作执行完之后,输出最终的表格。
输入格式
输入的第一行为三个整数 $n$、$m$、$k$($1 \leq n,m \leq 5000$,$n \cdot m \leq 100000$,$1 \leq k \leq 100000$),分别表示纸张的尺寸和操作的数量。
接下来的 $k$ 行,每行描述一个操作:
- $1\ r_{i}\ a_{i}$($1 \leq r_{i} \leq n$,$1 \leq a_{i} \leq 10^9$),表示将第 $r_{i}$ 行的所有单元格涂成颜色 $a_{i}$;
- $2\ c_{i}\ a_{i}$($1 \leq c_{i} \leq m$,$1 \leq a_{i} \leq 10^9$),表示将第 $c_{i}$ 列的所有单元格涂成颜色 $a_{i}$。
输出格式
输出 $n$ 行,每行 $m$ 个整数,描述所有操作执行完毕后的结果表格。
说明/提示
下图按步骤展示了第一个样例中的三次操作。每一步被涂色的单元格用灰色标出。

由 ChatGPT 5 翻译