#GC4100. GC.2021.六年级.04.卡片

GC.2021.六年级.04.卡片

题目描述

有一个 H 行 W 列的二维网格,行的编号从上到下为 1 至 H ,列的编号从左往右是 1 至 W 。每个格子都有一张卡片,但是总共只有 N 张卡片上面是印有数字的,有数字的卡片称为“数字卡片”,没有数字的卡片称为“纯卡片”。第 i 张“数字卡片”在第 a[i] 行第 b[i] 列,第 i 张“数字卡片”印的数字是 i 。

重复以下操作,直到不能再操作为止:

  1. 如果二维网格的某一行没有“数字卡片”,则删除这一行,该行下方的全部整体向上移动一行。

  2. 如果二维网格的某一列没有“数字卡片”,则删除这一列,该列右边的全部整体向左移动一列。

当所有操作结束之后,印有数字 1 的那张“数字卡片”在第几行第几列?印有数字2的那张“数字卡片”在第几行第几列?........印有数字 i 的那张“数字卡片”在第几行第几列?

印有数字N的那张“数字卡片”在第几行第几列?

输入格式

第一行,3 个整数:H, W, N。

接下有 N 行,第 i 行有两个整数:a[i] 和 b[i] 。一个格子不会有多张“数字卡片”。

数据范围

对于 80% 的数据,1 <= H,W <= 1000, 1 <= N <= 10000,1 <= a[i] <= H,1 <= b[i] <= W。

对于 100% 的数据,1 <= H,W <= 10^9,1 <= N <= 100000,1 <= a[i] <= H, 1 <= b[i] <= W。

输出格式

共 N 行,每行两个整数,第 i 行的两个整数表示:当所有删除操作结束后,印有数字 i 的“数字卡片”在第几行第几列。

样例

4 5 2
3 2
2 5
2 1
1 2

样例解释
一开始二维网格是这样的:

*****
****2
*1***
*****

当所有删除操作结束后,二维网格是这样的:

*2
1*