CF1662D Evolution of Weasels
题目描述
一只野生的蛇怪突然出现在你家门口。你并不完全确定蛇怪是什么,你想知道它是否是由你最喜欢的动物——鼬鼠进化而来的。
你如何判断蛇怪是否由鼬鼠进化而来?当然,一个好的第一步是测序它们的 DNA。然后你可以尝试检查,是否存在一种可能的变异序列,可以将鼬鼠的 DNA 变为蛇怪的 DNA。
你的朋友 Ron 是一位有天赋的炼金术士,在他的许多实验中研究过 DNA 序列。他发现 DNA 字符串由字母 A、B 和 C 组成,单次变异只能在字符串的任意位置添加或删除子串(子串是连续的字符序列)。可以通过变异添加或删除的子串有 AA、BB、CC、ABAB 或 BCBC。在一系列变异过程中,DNA 字符串甚至可能变为空串。
Ron 已经同意帮你测序鼬鼠和蛇怪的 DNA,但判断是否存在一种变异序列能将一个变为另一个对他来说太难了,所以你需要自己完成这项工作。
输入格式
每组测试包含多个测试用例。第一行包含一个整数 $t$($1\le t\le 100$)——表示测试用例的数量。接下来的 $t$ 组测试用例描述如下。
每个测试用例的第一行包含一个字符串 $u$($1\le |u|\le 200$)——表示鼬鼠的 DNA。
每个测试用例的第二行包含一个字符串 $v$($1\le |v|\le 200$)——表示蛇怪的 DNA。
$|u|$、$|v|$ 分别表示字符串 $u$ 和 $v$ 的长度。保证字符串 $u$ 和 $v$ 只包含字母 A、B 和 C。
输出格式
对于每个测试用例,如果存在一种变异序列可以将 $u$ 变为 $v$,输出 YES,否则输出 NO。
说明/提示
由 ChatGPT 4.1 翻译