QOJ.ac

QOJ

Limite de temps : 0.3 s Limite de mémoire : 1024 MB Points totaux : 100

#4955. 多维猜词游戏

Statistiques

多维猜词游戏(Multidimensional Hangman)有着非常独特的规则。在某种程度上,它就像是同时进行多场传统的猜词游戏,不同之处在于这些词不需要存在于字典中。如果你从未玩过猜词游戏,不用担心:下面提供了你需要的所有信息。

在这个游戏的多维版本中,棋盘上有若干个初始未知的词,它们长度相同。在游戏的每一轮中,你会发现某些词在特定位置上的字符(这些字符是如何被发现的对于本题并不重要)。在某个时刻,当棋盘上每个词都只剩下一个未知字符时,游戏进入“全有或全无”(all or nothing)阶段。此时,你必须选择一个词,使其与棋盘上词的兼容性数量最大化。对于一个选定的词 $P$,如果 $T$ 中所有已知的字母在 $P$ 中的对应位置完全相同,我们就称它与棋盘上的词 $T$ 兼容。

根据棋盘上词的已知信息,你必须确定在“全有或全无”阶段应该选择哪个词,以使兼容性数量最大化。如果存在多个解,请输出字典序最小的那一个。如果 $P_i$ 是 $P$ 的第 $i$ 个字符,$Q_i$ 是 $Q$ 的第 $i$ 个字符,且 $i$ 是使得 $P_i \neq Q_i$ 的最小下标,那么当 $P_i < Q_i$ 时,我们称词 $P$ 在字典序上小于词 $Q$。

输入格式

输入的第一行包含两个整数 $N$ 和 $C$,满足 $1 \le N \le 10^4$ 且 $1 \le C \le 12$,分别表示棋盘上词的数量和词的长度。接下来的 $N$ 行,每行包含一个长度为 $C$ 的词,仅由字符 “a” 到 “z” 组成,其中有一个位置包含字符 “*”,表示该位置的字符仍然未知。

输出格式

输出一行,依次包含一个长度为 $C$ 的词 $T$ 和一个整数 $M$,其中 $M$ 是一个词与输入词可能拥有的最大兼容性数量,$T$ 是所有具有兼容性 $M$ 的词中字典序最小的那一个。

样例

样例输入 1

5 4
rat*
ru*d
rot*
r*ta
r*ta

样例输出 1

rata 3

样例输入 2

5 4
bon*
fon*
n*no
*eto
*ano

样例输出 2

nano 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.