QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#11538. AAB ↔ BAA

统计

Busy Beaver 正在为 MIT Mystery Hunt 做准备!他正在两个仅由字母 $\texttt{A}$ 和 $\texttt{B}$ 组成的字符串 $S_1$ 和 $S_2$ 上玩一个游戏。他可以对 $S_1$ 执行任意次数(可能为零)以下操作:

  • 将任意连续子串 $\texttt{AAB}$ 替换为 $\texttt{BAA}$,反之亦然。
  • 将任意连续子串 $\texttt{BBA}$ 替换为 $\texttt{ABB}$,反之亦然。

求将 $S_1$ 转换为 $S_2$ 所需的最少操作次数,如果无法转换,则输出 $-1$。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10^3$),表示测试用例的数量。

每个测试用例仅包含一行,由两个空格分隔的字符串 $S_1$ 和 $S_2$ ($1\le |S_1| = |S_2|\le 10^5$) 组成,字符串仅由字符 $\texttt{A}$ 和 $\texttt{B}$ 构成。

所有测试用例中字符串的总长度不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出将 $S_1$ 转换为 $S_2$ 所需的最少操作次数。如果无法转换,输出 $-1$。

子任务

本题共有三个子任务:

  • ($10$ 分) $S_1$ 和 $S_2$ 中均恰好包含一个 $\texttt{B}$。
  • ($20$ 分) $S_1$ 仅由若干个 $\texttt{A}$ 后接若干个 $\texttt{B}$ 组成,$S_2$ 仅由若干个 $\texttt{B}$ 后接若干个 $\texttt{A}$ 组成。
  • ($70$ 分) 无附加限制。

样例

输入 1

1
AABBB BABBA

输出 1

2

说明

在第一个测试用例中,我们可以执行两次操作:$\color{red}{\texttt{AAB}}\texttt{BB} \to \color{blue}{\texttt{BAA}}\texttt{BB}$,然后 $\texttt{BA}\color{red}{\texttt{ABB}} \to \texttt{BA}\color{blue}{\texttt{BBA}}$。

输入 2

1
AAAAAABBB BBBAAAAAA

输出 2

9

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.