#L0698. 方阵离队与归位
方阵离队与归位
题目描述
小明是一个热爱学习的男孩子。
前段时间,小明参加了学校的军训。众所周知,军训的时候需要站方阵。
小明所在的方阵中有 名学生,方阵的行数为 ,列数为 。
为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中的学生从 到 编上了号码。即:初始时,第 行第 列的学生的编号是 。
然而在练习方阵的时候,经常会有学生因为各种各样的事情需要离队。在一天中,一共发生了 件这样的离队事件。每一次离队事件可以用数对 描述,表示第 行第 列的学生离队。
在有学生离队后,队伍中出现了一个空位。为了队伍的整齐,教官会依次下达这样的两条指令:
- 向左看齐。这时第一列保持不动,所有学生向左填补空缺。不难发现在这条指令之后,空位在第 行第 列。
- 向前看齐。这时第一行保持不动,所有学生向前填补空缺。不难发现在这条指令之后,空位在第 行第 列。
教官规定不能有两个或更多学生同时离队。即在前一个离队的学生归队之后,下一个学生才能离队。因此在每一个离队的学生要归队时,队伍中有且仅有第 行第 列一个空位,这时这个学生会自然地填补到这个位置。
因为站方阵真的很无聊,所以小明想要计算每一次离队事件中,离队的同学的编号是多少。
注意:每一个同学的编号不会随着离队事件的发生而改变,在发生离队事件后方阵中同学的编号可能是乱序的。
输入格式
输入共 行。
第一行包含 个用空格分隔的正整数 ,表示方阵大小是 行 列,一共发生了 次事件。
接下来 行按照事件发生顺序描述了 件事件。每一行是两个整数 ,用一个空格分隔,表示这个离队事件中离队的学生当时排在第 行第 列。
输出格式
按照事件输入的顺序,每一个事件输出一行一个整数,表示这个离队事件中离队学生的编号。
样例
2 2 3
1 1
2 2
1 21
1
4
</p>
提示
【数据规模与约定】
| 测试点编号 | $n$ | $m$ | $q$ | 其他约定 |
|---|---|---|---|---|
| $1\sim 6$ | $\le 10^3$ | $\le 10^3$ | $\le 500$ | 无 |
| $7\sim 10$ | $\le 5\times 10^4$ | $\le 5\times 10^4$ | $\le 500$ | 无 |
| $11\sim 12$ | $=1$ | $\le 10^5$ | $\le 10^5$ | 所有事件 $x=1$ |
| $13\sim 14$ | $=1$ | $\le 3\times 10^5$ | $\le 3\times 10^5$ | 所有事件 $x=1$ |
| $15\sim 16$ | $\le 3\times 10^5$ | $\le 3\times 10^5$ | $\le 3\times 10^5$ | 所有事件 $x=1$ |
| $17\sim 18$ | $\le 10^5$ | $\le 10^5$ | $\le 10^5$ | 无 |
| $19\sim 20$ | $\le 3\times 10^5$ | $\le 3\times 10^5$ | $\le 3\times 10^5$ | 无 |
数据保证每一个事件满足 。
难度
省选/NOI-
通过率
—
尝试
0
已通过
0
- ID
- 1426
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 512MiB
- 上传者