CF1922A Tricky Template

题目描述

给定一个整数 $n$ 和三个字符串 $a, b, c$,每个字符串均由 $n$ 个小写拉丁字母组成。 定义“模板”为一个长度为 $n$ 的字符串 $t$,其中每个字符可以是小写或大写拉丁字母。字符串 $s$ 与模板 $t$ 匹配,当且仅当对于所有 $i$ 从 $1$ 到 $n$,都满足以下条件: - 如果模板第 $i$ 个字母是小写字母,则 $s_i$ 必须与 $t_i$ 相同; - 如果模板第 $i$ 个字母是大写字母,则 $s_i$ 必须与 $t_i$ 的小写形式不同。例如,如果模板中有字母 'A',则字符串对应位置不能是 'a'。 如果有任意一个 $i$ 不满足上述条件,则字符串 $s$ 不匹配模板 $t$。 请判断是否存在一个模板 $t$,使得字符串 $a$ 和 $b$ 都与其匹配,而字符串 $c$ 不匹配。

输入格式

第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 20$),表示字符串的长度。 接下来的三行分别为字符串 $a$、$b$ 和 $c$。每个字符串均由恰好 $n$ 个小写拉丁字母组成。

输出格式

对于每个测试用例,如果存在一个模板 $t$ 使得 $a$ 和 $b$ 匹配模板且 $c$ 不匹配,则输出 "YES";否则输出 "NO"。

说明/提示

在第一个测试用例中,可以使用模板 "C"。字符串 $a$ 和 $b$ 的第一个字母都与 'c' 不同,因此它们匹配模板。字符串 $c$ 的第一个字母等于 'c',因此它不匹配。 在第三个测试用例中,可以使用模板 "CODEforces"。 由 ChatGPT 4.1 翻译