P12115 [NWRRC2024] Keyboard Chaos
题目描述
你是否曾觉得普通的平面键盘太过无聊,想要设计些更有趣的东西?
一个叫 Kevin 的小男孩设计了一个有 $n$ 个特殊按键的键盘。每个按键 $i$ 初始包含一个字母序列:$L_{i,1}, L_{i,2}, \ldots, L_{i,|L_i|}$。序列中可能有重复字母。每个字母都是前 $e$ 个小写英文字母之一。
每次按下按键 $i$ 时,会输入其序列的第一个字母,并立即将该字母移到序列末尾。因此,第一次按下按键 $i$ 时输入字母 $L_{i,1}$,序列变为 $L_{i,2}, \ldots, L_{i,|L_i|}, L_{i,1}$;第二次按下时输入 $L_{i,2}$,序列变为 $L_{i,3}, \ldots, L_{i,|L_i|}, L_{i,1}, L_{i,2}$,以此类推。
例如,假设按键 $1$ 的序列是 $\tt{a}$, $\tt{b}$, $\tt{a}$,按键 $2$ 的序列是 $\tt{c}$, $\tt{d}$。若按顺序按下 $2,1,2,2,1,1,1,2$,将输入字符串 $\tt{cadcbaad}$。
请帮助 Kevin 评估他的键盘功能,找出从初始状态开始,该键盘无法输入的最短字符串(仅由前 $e$ 个小写字母组成)。
输入格式
第一行包含两个整数 $n$ 和 $e$,分别表示按键数量和字母表大小($1 \le n \le 100$;$2 \le e \le 26$)。
接下来的 $n$ 行中,第 $i$ 行包含字符 $L_{i,1}, L_{i,2}, \ldots, L_{i,|L_i|}$,表示按键 $i$ 的初始字母序列($1 \le |L_i| \le 10$)。每个字符都是前 $e$ 个小写英文字母之一。
输出格式
输出该键盘从初始状态开始无法输入的最短字符串(由前 $e$ 个小写字母组成)。若有多个最短字符串,输出任意一个即可。
若可以输入所有可能的字符串,则输出单个字符串 $\tt{NO}$。
说明/提示
在第一个测试用例中,键盘只能输入 $\tt{winwinwinwin...}$ 的前缀。由于无法以 $\tt{w}$ 以外的字母开头,任何非 $\tt{w}$ 的小写字母都是正确答案。
在第二个测试用例中,$\tt{bb}$ 和 $\tt{cc}$ 也是可能的正确答案。