给定一个长度为 n 的字符串 a,其中 n 为偶数。对于每个 i(1 \leq i \leq n),a_i 只能是 'A'、'B' 或 'C'。
括号序列是仅包含字符 "(" 和 ")" 的字符串。一个合法的括号序列是指可以通过在原序列的字符之间插入 "1" 和 "+",将其转化为正确的算术表达式。例如,括号序列 "()()" 和 "(())" 是合法的(对应的表达式分别为 "(1)+(1)" 和 "((1+1)+1)"),而 ")("、"(" 和 ")" 都不是合法的括号序列。
你需要找到一个长度为 n 的字符串 b,使得:
- b 是一个合法的括号序列;
- 如果对于某些 i 和 j(1 \leq i, j \leq n),有 a_i = a_j,则 b_i = b_j。
换句话说,你需要用同一种括号替换所有的 'A',用同一种括号替换所有的 'B',用同一种括号替换所有的 'C'。
你的任务是判断是否存在这样的字符串 b。
第一行包含一个整数 t(1 \leq t \leq 1000),表示测试用例的数量。
接下来每个测试用例包含一行字符串 a。a 只包含大写字母 'A'、'B' 和 'C'。设 n 为 a 的长度。保证 n 为偶数,且 2 \leq n \leq 50。
对于每个测试用例,如果存在满足条件的字符串 b,输出 "YES";否则输出 "NO"。
4 AABBAC CACA BBBBAC ABCA
YES YES NO NO
在第一个测试用例中,其中一种可能的字符串 b 是 "(())()"。
在第二个测试用例中,其中一种可能的字符串 b 是 "()()"。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |