CF1301A.Three Strings

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

Three Strings

题目描述

给定三个长度相同的字符串 aa、bb 和 cc,长度为 nn。这三个字符串仅包含小写英文字母。第 ii 个字符分别记为 aia_i、bib_i、cic_i。

对于每个 ii(1≤i≤n1 \leq i \leq n),你必须将 cic_i 与 aia_i 或 bib_i 交换(即互换)。总共需要进行恰好 nn 次交换操作,每次操作可以选择 ci↔aic_i \leftrightarrow a_i 或 ci↔bic_i \leftrightarrow b_i(ii 从 11 到 nn)。

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

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

输入格式

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

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

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

输出格式

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

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

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

说明/提示

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

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

在第三个测试用例中,应当将 c1c_1 与 a1a_1 交换,c2c_2 与 b2b_2 交换,c3c_3 与 b3b_3 交换,c4c_4 与 a4a_4 交换。此时 aa 变为 "baba",bb 变为 "baba",cc 变为 "abab"。此时 aa 和 bb 相等。

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

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

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