QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 64 MB Puntuación total: 110

#13581. 拼图

Estadísticas

自从学会如何还原魔方后,Jurica 对这类谜题产生了浓厚的兴趣,最近他自己发明了一个神秘的玩具。我们可以将 Jurica 的谜题想象成一个平行四边形形状的三角形网格,其节点排列成 $N$ 行 $M$ 列。行从下往上依次编号为 $1$ 到 $N$,列从左往右依次编号为 $1$ 到 $M$。

每个节点用坐标 $(x, y)$ 表示,其中 $x$ 是行,$y$ 是列。每个节点上都写有一个介于 $1$ 到 $N \cdot M$ 之间的唯一整数。当第一行包含从左到右排序的数字 $1$ 到 $M$,第二行包含相同顺序的数字 $M+1$ 到 $2M$,依此类推时,该谜题被视为已解决。下图显示了一个 $3$ 行 $4$ 列的已解决谜题。

谜题的布局可以通过以下两种方式进行改变:

  1. 选择一个单位大小的菱形,其顶点由坐标 $(x, y)$、$(x+1, y)$、$(x+1, y+1)$ 和 $(x, y+1)$ 确定,并将这些节点上的值顺时针旋转。
  1. 选择一个单位大小的等边三角形,其顶点由坐标 $(x, y)$、$(x+1, y)$ 和 $(x, y+1)$ 确定,并将这些节点上的值顺时针旋转。

在一个无聊的日子里,Jurica 打乱了谜题,并在纸上记录下了他所做的步骤。他将这一系列步骤称为一个“超级移动”(mega-move),并将应用超级移动解释为按顺序执行纸上记录的步骤。之后,他多次重复执行了同一个超级移动。很快,他发现了一个不寻常的规律:从一个已解决的谜题开始,在恰好执行了 $K$ 次超级移动后,谜题将再次回到已解决的状态(且这是应用超级移动以来第一次回到已解决状态)。

给定整数 $N$、$M$ 和 $K$,确定是否存在一个超级移动,使得 Jurica 在恰好重复该超级移动 $K$ 次后能够解决谜题,如果存在,输出该步骤序列。注意:解不一定唯一,且在步数上不一定是最优的,但步数是有限制的(见输入格式部分)。

输入格式

第一行包含三个整数 $N, M$($2 \le N, M \le 100$)和 $K$($2 \le K \le 10^{12}$),即题目描述中的数值。

输出格式

如果不存在满足题目条件的超级移动,在唯一的一行中输出 -1

否则,在第一行输出步骤数 $B$($1 \le B \le 500\,000$),并在接下来的 $B$ 行中,每行按以下格式输出一个步骤:

  • R x y(不带引号):如果是旋转菱形(操作 1)。
  • T x y(不带引号):如果是旋转等边三角形(操作 2)。

其中坐标 $(x, y)$ 代表菱形或三角形的左下角节点,且满足 $1 \le x < N$ 以及 $1 \le y < M$。

子任务

在价值 40% 分数的测试数据中,满足 $N, M \le 3$ 且 $K \le 20$。

样例

输入样例 1

2 3 2

输出样例 1

5
R 1 1
R 1 1
T 1 1
T 1 1
T 1 1

输入样例 2

3 3 12

输出样例 2

3
R 1 1
T 2 2
T 2 1

输入样例 3

5 4 116

输出样例 3

-1

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.