4122: 重新排序卡片
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:2
解决:1
题目描述
# Reorder Cards
## 题目描述
有 $HW$ 张卡片排列在一个 $H$ 行 $W$ 列的矩阵中。对于每个 $i=1,\ldots,N$,从上往下第 $A_i$ 行、从左往右第 $B_i$ 列的卡片上写有数字 $i$。其他 $HW-N$ 张卡片上没有写任何东西。
我们将对这些卡片重复执行以下两种操作,直到无法继续:
1. 如果存在一行没有写有数字的卡片,则移除该行的所有卡片,并将剩余的卡片向上移动。
2. 如果存在一列没有写有数字的卡片,则移除该列的所有卡片,并将剩余的卡片向左移动。
请找出操作结束后每张写有数字的卡片的位置。可以证明,无论以何种顺序执行操作,最终结果都是唯一确定的。
输入
## 输入格式
输入从标准输入中给出,格式如下:
$H$ $W$ $N$
$A_1$ $B_1$
...
$A_N$ $B_N$
输出
## 输出格式
输出 $N$ 行:如果操作结束后,写有数字 $i$ 的卡片位于从上往下第 $C_i$ 行、从左往右第 $D_i$ 列,则第 $i$ 行应输出 $C_i$ 和 $D_i$,中间用空格分隔。
样例输入 复制
4 5 2
3 2
2 5
样例输出 复制
2 1
1 2
提示
## 输入输出样例
### 输入样例1
```
4 5 2
3 2
2 5
```
### 输出样例1
```
2 1
1 2
```
### 输入样例2
```
1000000000 1000000000 10
1 1
10 10
100 100
1000 1000
10000 10000
100000 100000
1000000 1000000
10000000 10000000
100000000 100000000
1000000000 1000000000
```
### 输出样例2
```
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
```
## 数据范围与提示
【样例1说明】
让我们用 * 表示没有写任何内容的卡片。最初,卡片的排列如下:
```
*****
****2
*1***
*****
```
操作结束后,卡片的排列如下:
```
*2
1*
```
这里,写有 1 的卡片位于从上往下第 2 行、从左往右第 1 列,写有 2 的卡片位于从上往下第 1 行、从左往右第 2 列。
【数据范围】
- $1 \leq H,W \leq 10^9$
- $1 \leq N \leq \min(10^5,HW)$
- $1 \leq A_i \leq H$
- $1 \leq B_i \leq W$
- 所有 $(A_i,B_i)$ 对都是不同的
- 输入中的所有值都是整数。
## 题目来源
ABC213C