ECNU XCPC 2021 December Training

A. 矩阵变换2

单点时限: 1.0 sec

内存限制: 512 MB

可怜的Rachel又双叒叕睡着了。这次的矩阵总共有 nm 列,初始值都为 0,老头在布置矩阵的时候每次操作会指定一行或一列,然后指定一个数,使得这一行或者这一列上全部放上这个数。如果这一行上以前放过其它的数,那么这样的操作将会把原本的数覆盖。

Rachel精疲力尽了。你愿意帮她计算最终的矩形吗?

输入格式

输入文件共 q+1 行。

输入文件第一行包括三个正整数 n,m,q ,分别表示矩阵的行数和列数以及老头的操作数。

接下来 q 行,每行三个正整数,x , y , zx 表示操作种类,若 x=1 表示给第 y 行( yn )全部放上z 这个数,若 x=2 ,则表示给第 y 列( ym )全部放上 z 这个数,数据保证 z2311

数据保证n,m1000,nm105,q106

输出格式

输出文件共n行,每行m个整数,分别用空格隔开。表示最后矩阵上每个位置的数,如果某个位置没有被操作过输出0。

样例

Input
3 3 3
1 1 3
2 2 1
1 2 2
Output
3 1 3
2 2 2
0 1 0
Input
5 3 5
1 1 1
1 3 1
1 5 1
2 1 1
2 3 1
Output
1 1 1
1 0 1
1 1 1
1 0 1
1 1 1

提示

样例1解释
avatar

使用cincout可能会导致超时。可以在main函数开头关闭同步:

std::ios::sync_with_stdio(false);

或者使用scanfprintf