CF1672B I love AAAB

题目描述

我们称一个字符串为“好字符串”,如果它的长度至少为 $2$,且除了最后一个字符是 $\texttt{B}$ 以外,其余所有字符都是 $\texttt{A}$。好字符串的例子有 $\texttt{AB}$、$\texttt{AAB}$、$\texttt{AAAB}$,依此类推。注意,$\texttt{B}$ 不是好字符串。 你有一个初始为空的字符串 $s_1$。 你可以进行如下操作任意次: - 在 $s_1$ 的任意位置插入一个好字符串。 给定一个字符串 $s_2$,你能否通过若干次操作将 $s_1$ 变为 $s_2$?

输入格式

每组测试包含多个测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个字符串 $s_2$($1 \leq |s_2| \leq 2 \times 10^5$)。 保证 $s_2$ 只包含字符 $\texttt{A}$ 和 $\texttt{B}$。 保证所有测试用例中 $|s_2|$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每个测试用例,如果可以通过若干次操作将 $s_1$ 变为 $s_2$,输出 "YES"(不含引号);否则输出 "NO"(不含引号)。 你可以用任意大小写输出 "YES" 和 "NO"(例如 "yEs"、"yes"、"Yes" 都会被识别为肯定回答)。

说明/提示

在第一个测试用例中,变换过程如下:$\varnothing \to \color{red}{\texttt{AAB}} \to \texttt{A}\color{red}{\texttt{AB}}\texttt{AB}$。 在第三个测试用例中,变换过程如下:$\varnothing \to \color{red}{\texttt{AAAAAAAAB}}$。 在第二个和第四个测试用例中,可以证明无法将 $s_1$ 变为 $s_2$。 由 ChatGPT 4.1 翻译