QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 80

#13691. 螺旋

Statistics

小 Stjepan 经常喜欢和朋友们一起去萨格勒布一家著名的夜总会玩耍。然而,Stjepan 有时会喝太多苏打水,因摄入过多的糖分而感到头晕目眩。昨晚就是这样一个例子,这就是为什么 Stjepan 脑海中一直浮现着同一个画面。那是一些数字螺旋的涂鸦。由于他不太记得这个画面具体长什么样,但他可以描述它,因此他请求你帮他重建这个画面。

Stjepan 记得这个画面是一个由 $N$ 行 $M$ 列的数字组成的表格。此外,他记得表格中共有 $K$ 个螺旋。对于每个螺旋,其起点以及移动方向(顺时针或逆时针)都是已知的。下图展示了一个例子。这些螺旋通过以下方式,在恰好 $10^{100}$ 步内创建了 Stjepan 的画面:

  1. 初始时,表格为空,每个螺旋都位于其各自的起点。
  2. 在接下来的每一步中,每个螺旋都会移动到它的下一个位置。螺旋在某些时候可能会离开表格的边界,但之后也可能会重新进入表格。
  3. 在恰好 $10^{100}$ 步之后,对于表格中的每个格子,其最终数值是最早触碰到该格子的任意一个螺旋在触碰时的步数。

图 1:逆时针移动的螺旋

图 2:顺时针移动的螺旋

输入格式

输入的第一行包含正整数 $N, M$ ($1 \le N, M \le 50$) 和 $K$ ($1 \le K \le N \times M$)。

接下来的 $K$ 行,每行包含三个正整数 $X_i, Y_i$ 和 $T_i$ ($1 \le X_i \le N, 1 \le Y_i \le M, 0 \le T_i \le 1$),分别表示第 $i$ 个螺旋的起始位置和它的方向($0$ 表示顺时针,$1$ 表示逆时针)。没有两个螺旋会从同一个格子开始。

输出格式

你必须输出 $N$ 行,每行包含 $M$ 个数字,表示每个螺旋移动 $10^{100}$ 步后的表格。

子任务

在占总分 50% 的测试用例中,满足:$N=M$ 且 $K=1$ 且 $X_i=Y_i=\lfloor \frac{N+1}{2} \rfloor$,即 $X_i$ 和 $Y_i$ 等于 $N+1$ 整除以 2 的商。

样例

输入样例 1

3 3 1
2 2 0

输出样例 1

9 2 3
8 1 4
7 6 5

输入样例 2

3 3 1
2 2 1

输出样例 2

3 2 9
4 1 8
5 6 7

输入样例 3

3 3 2
1 1 0
1 2 0

输出样例 3

1 1 4
6 5 5
19 18 17

说明

第三个样例的解释:

A10 A11, B10 A12, B11 A13, B12 B13
A9 A2, B9 A3, B2 A14, B3 B14
A8 A1, B8 A4, B1 A15, B4 B15
A7 A6, B7 A5, B6 A16, B5 B16
A20, B21 A19, B20 A18, B19 A17, B18 B17

为了简单起见,第一个螺旋的数字前加上了字母 A,第二个螺旋的数字前加上了字母 B。表中仅显示了第一个螺旋的前 20 步和第二个螺旋的前 21 步。灰色背景的格子(即中间的 $3 \times 3$ 区域)是我们感兴趣的表格中的格子,所有其他格子都超出了表格边界,但展示它们是为了说明螺旋在表格外移动的方式。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.