#P14187. [ICPC 2024 Hangzhou R] AUS

[ICPC 2024 Hangzhou R] AUS

Description

猪头大学将主办 2224 年动物大学生程序设计竞赛(ACPC 2224)。与往年不同,以往主办方学校的队伍都是非正式队伍,但这次,猪头大学将派出正式队伍参加比赛,每支队伍配备三台工作站。 然而,猪头大学的教练猪头仍对本校队伍能否获得金牌抱有疑虑。于是,他决定以需要将数据上传到在线评测系统为借口,从 AUS 出题组事先获取赛题。

为了防止作弊,AUS 试图用一种特殊的加密方式来加密赛题。 具体来说,赛题用只包含小写英文字母的字符串表示。 AUS 希望设计一个加密函数 f(x)f(x),将小写英文字母映射为小写英文字母。 对于赛题 S=s1s2snS = s_1s_2\ldots s_{n},其加密后的版本为另一个字符串 F(S)=f(s1)f(s2)f(sn)F(S) = f(s_1)f(s_2)\ldots f(s_{n})。 例如,当 S=abcabcS = \texttt{abcabc}f(a)=af(\texttt{a}) = \texttt{a}f(b)=kf(\texttt{b}) = \texttt{k}f(c)=af(\texttt{c}) = \texttt{a} 时,加密后的字符串为 F(S)=akaakaF(S) = \texttt{akaaka}

作为 AUS 的一员,你的任务是设计该加密函数 ff。AUS 的组长认为这个加密函数是「强」的,当且仅当存在至少一个题目和另一个题目可以被加密成相同的字符串,同时又不是所有题目都加密得到同一个输出。 为此,他会给你三个题目 S1S_1S2S_2S3S_3,你需要找到一个加密函数 ff,使得 F(S1)=F(S2)F(S_1) = F(S_2)F(S1)F(S3)F(S_1) \neq F(S_3)。 由于 AUS 有许多经验丰富的成员,你的任务只需判断是否存在这样的加密函数即可。

Input Format

多组测试数据。第一行包含一个整数 TT1T1041 \leq T \leq 10^4),表示测试数据组数。

每组测试数据包含三行:

第一行是一个仅含小写字母的字符串 S1S_11S11031 \leq |S_1| \leq 10^3)。

第二行是一个仅含小写字母的字符串 S2S_21S21031 \leq |S_2| \leq 10^3)。

第三行是一个仅含小写字母的字符串 S3S_31S31031 \leq |S_3| \leq 10^3)。

保证所有测试数据中 (S1+S2+S3)3×104\sum(|S_1| + |S_2| + |S_3|) \leq 3 \times 10^4

Output Format

每组测试数据输出一行。如果存在这样的加密函数,输出 YES\texttt{YES};否则输出 NO\texttt{NO}

4
abab
cdcd
abce
abab
cdcd
abcd
abab
cdcd
abc
x
yz
def
YES
NO
YES
NO

Hint

对于第一组和第三组样例,一个可行的加密函数为 $f(\texttt{a}) = f(\texttt{b}) = f(\texttt{c}) = f(\texttt{d}) = \texttt{a}$,f(e)=bf(\texttt{e}) = \texttt{b}

由 ChatGPT 5 翻译