QOJ.ac

QOJ

حد الوقت: 20 s حد الذاكرة: 1024 MB مجموع النقاط: 25

#12491. 吉祥物迷宫

الإحصائيات

Google Coding Competitions 团队正在筹备一个新的主题公园。和所有优秀的主题公园一样,我们希望有身穿吉祥物服装的演员与游客互动。由于开业时间紧迫,我们决定使用 CODE JAMKICK STARTHASH CODE 中的字母作为吉祥物,总共 13 种不同的吉祥物(字母 ACDEHIJKMORST)。

公园唯一的景点是一个迷宫,其中包含编号从 $1$ 到 $N$ 的房间。每个房间都有一个左出口和一个右出口。每个出口都会将游客带到另一个房间。出口不能反向使用;例如,如果房间 $i$ 有一个通往房间 $j$ 的出口,除非房间 $j$ 也恰好有一个通往房间 $i$ 的出口,否则你不能从房间 $j$ 返回房间 $i$。

我们希望在每个房间放置一个吉祥物。每个字母可以在迷宫的零个、一个或多个房间中出现。为了增加多样性,我们希望放置吉祥物,使得游客可以连续访问的任意三个(不一定不同)房间拥有三个不同的吉祥物。

你能帮我们为每个房间选择一个吉祥物以满足此目标,或者告诉我们这无法实现吗?

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含 3 行。第一行包含一个整数 $N$,表示迷宫中的房间数量。第二行包含 $N$ 个整数 $L_1, L_2, \dots, L_N$,表示从房间 $i$ 出发的左出口通往房间 $L_i$。第三行包含 $N$ 个整数 $R_1, R_2, \dots, R_N$,表示从房间 $i$ 出发的右出口通往房间 $R_i$。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),如果无法在遵守上述规则的情况下分配吉祥物,则 $y$ 为 IMPOSSIBLE。否则,$y$ 是一个长度为 $N$ 的字符串。$y$ 的第 $i$ 个字符应该是集合 ACDEHIJKMORST 中的一个大写字母,表示你希望分配给第 $i$ 个房间的吉祥物。

数据范围

$1 \le T \le 100$。 $L_i \neq i$,$R_i \neq i$,对于所有 $i$。 $1 \le L_i < R_i \le N$,对于所有 $i$。

样例

样例输入 1

4
3
2 1 1
3 3 2
6
3 1 4 1 2 3
5 3 5 2 4 5
20
2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 1 1
3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 20 2
19
2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 1 1
3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 19 3

样例输出 1

Case #1: IMPOSSIBLE
Case #2: TSHIRT
Case #3: HCJKSHCJKSHCJKSHCJKS
Case #4: CODEJAMROCKSTHEMOST

说明

样例 1 是题目描述中的图像。游客可以连续访问房间 1、2 和 1(这会访问房间 1 两次),因此该情况是不可能的。

样例 2 具有以下布局(蓝色箭头代表左出口,红色箭头代表右出口):

其中一种有效的答案是按所示分配吉祥物。请注意,虽然在这种情况下我们不需要分配两个 T 吉祥物,但我们这样做的方式并没有破坏规则。

样例 3 和 4 是可能的,但需要使用某些吉祥物的多个副本。

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.