SP12397 LCPC12B - Johnny plays with connect 4
题目描述
「四子连珠」是一款由两名玩家参与的游戏。游戏中,玩家首先选择一种颜色,然后轮流将彩色圆盘从顶部投入一个七列六行的网格中。圆盘会垂直下落,填充至该列的下一个空位。游戏目标是,玩家需要在竖直、水平或对角线上先于对手连成四个同色圆盘。——摘自维基百科。
Johnny 正在玩这个游戏,他拥有 $N$ 个圆盘,每个圆盘上标有一个号码。Johnny 把这些圆盘放入游戏板的不同列中。但由于紧张,他不小心将游戏板的顶部盖上,并旋转了游戏板。每次将游戏板旋转 90 度时,所有圆盘会在它们所在的行内滑动,直到遇到边界或其他圆盘。你将得到游戏板当前的配置以及旋转的角度,你需要编写一个程序来计算旋转后的圆盘位置。
输入格式
输入首先是一个整数 $T$,表示测试用例的数量。接下来是 $T$ 组测试用例。每个用例的开头是两个整数 $R$ 和 $C$,分别表示游戏板的行数和列数,其中 $1 < R < 100$,$1 < C < 100$。接下来是一个整数 $N$,表示圆盘的数量,其中 $0 \le N \le R \times C$。紧接着有 $N$ 行,每行包含两个整数:$P$ 表示圆盘所在的列号(从 0 开始),$Q$ 表示圆盘上的数字($0 \le Q \le 9$)。随后给出一个整数 $L$,表示旋转的次数,接下来是 $L$ 个整数,每个表示一个逆时针旋转角度,可能的值为 90, 180 和 270。
输出格式
对于每个测试用例,输出如下格式的结果:
首先输出测试用例编号 $k$,从 1 开始,后跟一个句点(独占一行)。然后是游戏板的最终配置。每行游戏板的状态占一行,若单元格为空则用 `.` 表示,否则用它所代表的圆盘的数字表示。
## 样例输入
```
4
2 3
2
0 5
2 9
0
2 3
2
0 5
2 9
1 90
2 3
2
0 5
2 9
1 180
2 3
2
0 5
2 9
2 90 90
```
## 样例输出
```
1.
...
5.9
2.
..
.9
.5
3.
...
9.5
4.
...
.95
```
**本翻译由 AI 自动生成**