CF400C Inna and Huge Candy Matrix
题目描述
Inna 和 Dima 想给 Sereja 一个惊喜。他们带来了一块非常巨大的糖果矩阵,即使对于 Sereja 来说也算很大!我们将从上到下将这块大型矩阵的行编号为 $1$ 到 $n$,从左到右将列编号为 $1$ 到 $m$。我们用 $(i, j)$ 表示第 $i$ 行第 $j$ 列的单元格。不出所料,有些单元格里放着糖果。总共有 $p$ 颗糖果:第 $k$ 颗糖果位于单元格 $(x_{k}, y_{k})$。
随着时间临近晚餐,Inna 正准备从矩阵中吃掉她最喜欢的 $p$ 颗糖果,这时 Sereja(出于一个他没有与任何人分享的原因)将矩阵顺时针旋转 $x$ 次,每次 $90$ 度。然后他又对矩阵进行了 $y$ 次水平旋转。最后,他又将矩阵逆时针旋转 $z$ 次,每次 $90$ 度。下图展示了矩阵旋转的方式。

Inna 非常沮丧,但 Dima 突然意识到两件事:糖果没有被破坏,并且他还记得在 Sereja 做出奇怪操作之前 Inna 最喜欢的糖果所在的所有单元格。请帮助他们,找到每颗糖果经过 Sereja 变换之后在糖果矩阵中的新坐标!
输入格式
输入的第一行包含五个整数 $n, m, x, y, z, p$,其中 $1 \leq n, m \leq 10^9$,$0 \leq x, y, z \leq 10^9$,$1 \leq p \leq 10^5$。
接下来的 $p$ 行中,每行包含两个整数 $x_{k}, y_{k}$,满足 $1 \leq x_{k} \leq n$,$1 \leq y_{k} \leq m$——表示第 $k$ 颗糖果的初始坐标。两颗糖果可以出现在同一个单元格中。
输出格式
对于每颗糖果,输出一行,表示其经过所有变换后在矩阵中的新坐标,两数之间用空格分隔。
说明/提示
说明:水平旋转的含义是矩阵的镜像操作。例如,下面的矩阵
```
QWER REWQ
ASDF -> FDSA
ZXCV VCXZ
```
由 ChatGPT 5 翻译