#1788. 矩阵

矩阵

问题描述

有大小为 n×mn \times m 的矩阵,矩阵中的初始值全为 0

现在你可以对这个矩阵进行以下操作:

  • 选择一个点 (x, y) ,然后把第 x 行和第 y 列的所有值都取反,取反指的是 00111100
  • 注意 (x,y)(x,y) 这个位置,只会 取反一次,不会因第 xx 行取反和第 yy 列取反而不变。

给定 qq 次操作,你需要在操作结束后还原整个矩阵。

输入格式

第一行输入空格隔开的正整数 n,mn,m,分别表示矩阵的大小,初始值为全 00

第二行输入一个数 qq,表示接下来执行 qq 次操作。

接下来输入 qq 行,每行输入 x y, 表示将第 xx 行和第 yy 列的所有值取反,注意 (x,y)(x,y) 这个位置只会取反一次。

输出格式

输出一共输出 nn 行,每行 mm 个空格隔开的整数代表矩阵操作后的样子。

5 5
2
3 2
2 4
0 1 0 1 0
1 0 1 1 1
1 1 1 0 1
0 1 0 1 0
0 1 0 1 0
6 9 16
4 7
2 1
5 3
1 2
2 2
3 1
4 9
3 2
4 5
6 1
1 7
4 8
6 6
3 5
5 2
5 3
1 1 0 0 0 1 1 1 1 
0 1 0 0 0 1 0 1 1 
1 0 1 1 0 0 1 0 0 
1 0 0 0 1 1 1 0 0 
0 0 1 1 1 0 1 0 0 
0 0 0 0 0 0 0 1 1
10 10 13
10 1
3 9
7 4
2 9
9 10
3 7
9 9
4 3
2 10
3 6
6 3
10 8
4 4
1 0 0 0 0 1 1 1 1 0 
1 0 0 0 0 1 1 1 0 1 
0 1 1 1 1 1 1 0 1 1 
1 0 1 1 0 1 1 1 1 0 
1 0 0 0 0 1 1 1 1 0 
0 1 0 1 1 0 0 0 0 1 
0 1 1 0 1 0 0 0 0 1 
1 0 0 0 0 1 1 1 1 0 
1 0 0 0 0 1 1 1 0 1 
0 0 0 0 0 1 1 0 1 0

样例 1 解释

(3,2)(3, 2) 操作后矩阵变成了

0 1 0 0 0
0 1 0 0 0
1 1 1 1 1
0 1 0 0 0
0 1 0 0 0

继续选择 (2,4)(2, 4) 操作后矩阵变成了

0 1 0 1 0
1 0 1 1 1
1 1 1 0 1
0 1 0 1 0
0 1 0 1 0

提示

对于 30%30\% 的数据,1n,m,q2001 \le n,m,q \le 2001xn,1ym1 \le x \le n, 1 \le y \le m

对于 100%100\% 的数据,1n,m20001 \le n,m \le 20001q31051 \le q \le 3 * 10^5