QOJ.ac

QOJ

時間限制: 15 s 記憶體限制: 1024 MB 總分: 28

#12078. 全新的单词

统计

Vincent 和 Desta 是童年好友。今天,Vincent 用一些字母拼块向 Desta 展示了 $N$ 个不同的 $L$ 字母单词。每个拼块包含一个大写英文字母和一个 $1$ 到 $L$ 之间的数字。一个单词由 $L$ 个分别标有 $1$ 到 $L$ 的拼块按顺序拼出。(Vincent 的单词不一定是真实的英语单词。)

例如,如果 Vincent 有 $N = 3$ 个长度为 $L = 4$ 的单词,且单词为 {CAKE, TORN, SHOW},那么 Vincent 必须向 Desta 展示以下内容:

Desta 觉得创造单词一定很简单,他想创造一个符合上述规则且不是 Vincent 现有单词之一的新单词。然而,Desta 自己没有任何拼块,所以他必须使用 Vincent 的一些拼块。

例如,如果 Vincent 有上述示例中的单词,那么 Desta 可以创造一个新单词,如 CORN 或 SAKE 或 CHRE(Desta 的单词也不一定是真实的英语单词)。每个示例都在下图中说明:

注意上图中三行是独立的。Desta 只需要创造一个新单词。

然而,在上面的例子中,Desta 不能创造 WAKE,因为没有标号为 $1$ 的 W 拼块。他也不能创造 COO,因为长度不对。

注意,Desta 可能无法创造出新单词。例如,如果 Vincent 只有一个单词,那么 Desta 无法创造任何新单词。或者,如果 Vincent 有单词 {AA, AB, BA, BB},那么 Desta 能组成的任何单词都已经存在了。

请帮助 Desta 选择一个他可以使用 Vincent 的拼块向 Vincent 展示的单词,或者指出这是不可能的。

输入格式

输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $N$ 和 $L$:Vincent 的单词数量和每个单词的长度。接下来有 $N$ 行,第 $i$ 行包含一个长度为 $L$ 的大写英文字母字符串,表示 Vincent 的第 $i$ 个单词。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是 Desta 可以选择的有效单词;如果 Desta 没有有效的单词可选,则输出 -(ASCII 值为 $45$ 的单破折号字符)。如果 Desta 可以组成多个有效单词,你可以输出其中任意一个。

数据范围

$1 \le T \le 100$。 Vincent 的任意两个单词都不相同。

测试集 1(可见) $1 \le N \le 26^2$。 $1 \le L \le 2$。

测试集 2(隐藏) $1 \le N \le 2000$。 $1 \le L \le 10$。

样例

输入 1

5
4 1
A
B
C
D
4 2
WW
AA
SS
DD
4 2
AA
AB
BA
BB
3 4
CAKE
TORN
SHOW
5 7
HELPIAM
TRAPPED
INSIDEA
CODEJAM
FACTORY

输出 1

Case #1: -
Case #2: WA
Case #3: -
Case #4: CORN
Case #5: HOLIDAY

说明

注意最后两个样例不会出现在测试集 1 中。

在样例 #1 中,唯一可以使用 Vincent 的拼块构成的单词是 A, B, C, D。然而,所有这些单词都已经出现在 Vincent 的单词列表中,因此 Desta 不允许选择它们。

在样例 #2 中,有 12 个可能的 Desta 可以创造的新单词,其中一个是 WA。

样例 #3 已在上面的题目描述中解释;没有 Desta 可以创造的新单词。

样例 #4 已在上面的题目描述中解释;其他答案如 SAKE 也是可能的。

在样例 #5 中,其他答案如 TRAPJAM 也是可能的。

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.