CF1301A.Three Strings

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Three Strings

题目描述

给定三个长度相同的字符串 aabbcc,长度为 nn。这三个字符串仅包含小写英文字母。第 ii 个字符分别记为 aia_ibib_icic_i

对于每个 ii1in1 \leq i \leq n),你必须将 cic_iaia_ibib_i 交换(即互换)。总共需要进行恰好 nn 次交换操作,每次操作可以选择 ciaic_i \leftrightarrow a_icibic_i \leftrightarrow b_iii11nn)。

例如,如果 aa 为 "code",bb 为 "true",cc 为 "help",你可以通过第 11 位和第 44 位从 aa 取字母,其余从 bb 取字母,使 cc 变为 "crue"。此时 aa 变为 "hodp",bb 变为 "tele"。

请判断,是否存在一种交换方式,使得最终字符串 aa 与字符串 bb 完全相同。

输入格式

输入包含多组测试数据。第一行包含一个整数 tt1t1001 \leq t \leq 100),表示测试用例的数量。

每个测试用例包含三行,每行一个仅由小写英文字母组成的字符串 aabbcc

保证每组数据中这三个字符串非空且长度相同,且长度不超过 100100

输出格式

对于每个测试用例,输出一行答案:

如果可以通过上述操作使得字符串 aa 与字符串 bb 完全相同,输出 "YES"(不含引号);否则输出 "NO"(不含引号)。

答案可以为大写或小写字母。

说明/提示

在第一个测试用例中,不可能通过交换使得字符串 aa 与字符串 bb 完全相同。

在第二个测试用例中,应当对所有 ii 都将 cic_iaia_i 交换。交换后 aa 变为 "bca",bb 变为 "bca",cc 变为 "abc"。此时 aabb 相等。

在第三个测试用例中,应当将 c1c_1a1a_1 交换,c2c_2b2b_2 交换,c3c_3b3b_3 交换,c4c_4a4a_4 交换。此时 aa 变为 "baba",bb 变为 "baba",cc 变为 "abab"。此时 aabb 相等。

在第四个测试用例中,不可能通过交换使得字符串 aa 与字符串 bb 完全相同。

由 ChatGPT 4.1 翻译

样例

4
aaa
bbb
ccc
abc
bca
bca
aabb
bbaa
baba
imi
mii
iim
NO
YES
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验