SP4069 MORPH - Morphing is Fun
题目描述
Morphic 是一种生长迅速的树,为其主人带来快乐。其树干由一连串细胞上下堆叠而成。每个细胞都有 $n$ 种可能的颜色之一,这些颜色决定了它在夜晚时如何变异,而在这段时间里没人能看到它。花商们用英文字母表的前 $n$ 个小写字母来代表这些颜色,并准确记录了每种颜色的细胞将分裂成多少个细胞,以及这些新细胞的颜色。实际上,他们非常简单地用 $n$ 个非空单词表达了他们的知识,每个单词代表了颜色变化的结果序列。
一个 Morphic 种子由一个颜色为 $a$ 的细胞组成,并深深扎根于地中。只要 Morphic 还活着,每天夜晚所有细胞会同时按照所给规则进行变异,这可能导致树的指数级增长,因为新生成的每个细胞的大小和原来的细胞一样。例如,如果规则指出 $a$ 变为 $ab$,而 $b$ 变为 $ca$,那么经过两个夜晚后,一个初始种子就会发展成由 4 个细胞构成的树干:$abca$。
通常情况下,Morphic 的顶部隐藏在云中。要判断它是否还活着,唯一的办法就是检查树干的可见部分是否在变色。为此,可以建造一个极高的塔(尽管塔的高度是恒定的),从塔顶观察树干的固定部分。
你可以很容易地发现,或许只需要观察从底部开始的前 $k$ 个细胞来确定某个固定的 $k$ 值,又或是在任何高度的塔上,都无法确定 Morphic 是否已经死亡。在后一种情况下,会发现无论多大 $k$,随着演化,规则最终会让第 $k$ 个细胞停止变色,即便树还在继续生长和变异。
为了避免在建造这样高的塔上浪费资金,你需要编写一个程序,判断是否能监测到 Morphic 的健康变化。
输入格式
输入包含多组 Morphic 的描述。第一行包含描述的数量 $t$ ($t \leq 10000$)。每个描述首先给出颜色的数量 $n$ ($1 \leq n \leq 26$)。接下来的 $n$ 行描述 Morphic 的生长规则。第 $i$ 行描述了从第 $i$ 种颜色的单个细胞衍生出的自下而上的颜色序列。每行最多包含 100 个小写英文字母。
输出格式
对于每个测试用例,输出一行。如果建造塔无意义(即能省钱),则输出 `YES`。否则输出 `NO`。
**本翻译由 AI 自动生成**