QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#9065. 可接受的座位安排

Statistics

Charlie 正在管理一间教室。教室里的座位排列成网格状,有若干行和列。每位学生的身高各不相同。

如果满足以下条件,则称一种学生座位安排是“可接受的”: 每位学生恰好被分配到一个座位。 每一行中,学生的身高从左到右呈递增顺序。

学生们最初处于一种可接受的安排中。Charlie 想要将学生重新排列成另一种可能不同的可接受安排。为此,他可以交换任意两名学生的位置。然而,他必须确保每次交换后,座位安排依然是可接受的。

请帮助 Charlie 设计一种策略,将学生从初始安排移动到他期望的安排。你不需要最小化交换次数,但交换次数限制在最多 $10^4$ 次。

可以证明,对于所有满足输入限制的输入,这总是可能的。

输入格式

第一行包含两个整数 $r$ 和 $c$ ($1 \le r, c \le 20$)。Charlie 的教室有 $r$ 行 $c$ 列座位。

接下来的 $r$ 行,每行包含 $c$ 个整数 $h$ ($1 \le h \le r \cdot c$),表示初始安排中每一行学生的身高。保证身高各不相同,且初始安排是可接受的。

接下来的 $r$ 行,每行包含 $c$ 个整数 $h$ ($1 \le h \le r \cdot c$),表示 Charlie 期望的安排中每一行学生的身高。保证身高各不相同,且期望安排是可接受的。

输出格式

第一行输出一个整数 $k$,表示要执行的交换次数 ($0 \le k \le 10^4$)。

然后,输出将初始安排变为 Charlie 期望安排的 $k$ 次交换。在接下来的 $k$ 行中,每行输出四个整数 $r_1, c_1, r_2, c_2$ ($1 \le r_1, r_2 \le r, 1 \le c_1, c_2 \le c, (r_1, c_1) \neq (r_2, c_2)$)。这表示交换第 $r_1$ 行第 $c_1$ 列的学生与第 $r_2$ 行第 $c_2$ 列的学生。

可以证明,对于所有满足输入限制的输入,在 $10^4$ 次交换内完成此操作总是可能的。请记住,每次交换后安排必须保持可接受。

样例

样例输入 1

2 3
1 4 5
2 3 6
3 5 6
1 2 4

样例输出 1

4
2 1 1 1
2 2 1 1
2 3 1 3
2 3 1 2

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.