#4281. 重新排列卡片(Reorder Cards)
重新排列卡片(Reorder Cards)
题目描述
有 张卡片排列在一个 行 列的矩阵中。对于每个 ,从上往下第 行、从左往右第 列的卡片上写有数字 。其他 张卡片上没有写任何东西。
我们将对这些卡片重复执行以下两种操作,直到无法继续:
-
如果存在一行没有写有数字的卡片,则移除该行的所有卡片,并将剩余的卡片向上移动。
-
如果存在一列没有写有数字的卡片,则移除该列的所有卡片,并将剩余的卡片向左移动。
请找出操作结束后每张写有数字的卡片的位置。可以证明,无论以何种顺序执行操作,最终结果都是唯一确定的。
输入格式
输入从标准输入中给出,格式如下:
...
输出格式
输出 行:如果操作结束后,写有数字 的卡片位于从上往下第 行、从左往右第 列,则第 行应输出 和 ,中间用空格分隔。
样例
4 5 2
3 2
2 5
2 1
1 2
1000000000 1000000000 10
1 1
10 10
100 100
1000 1000
10000 10000
100000 100000
1000000 1000000
10000000 10000000
100000000 100000000
1000000000 1000000000
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 列。
数据范围
- 所有 对都是不同的
- 输入中的所有值都是整数。
来源
- AtCoder ABC213C