判断字符串是否可变换为目标字符串

给定两个由 'A'、'B'、'C' 组成的长度相同的字符串 X 和 Y,判断是否可以通过以下三种操作使 X 变换为 Y:

  1. 操作 (1):将 X 中的字符 'C' 替换为 'A'。
  2. 操作 (2):将 X 中的字符 'C' 替换为 'B'。
  3. 操作 (3):将 X 中的子字符串 'AB' 替换为 'BA'。

输入格式:

输入包含 T 个测试用例,每个测试用例包含 N、X 和 Y。

  • T 表示测试用例数量,范围为 1 到 2 × 10^5。
  • N 表示字符串的长度,范围为 1 到 2 × 10^5。
  • X 和 Y 是由 'A'、'B'、'C' 组成的长度为 N 的字符串。

所有测试用例的 N 的总和不超过 2 × 10^5。

输出格式:

输出 T 行,每行对应一个测试用例的答案。如果可以使 X 变换为 Y,输出 'Yes',否则输出 'No'。

样例输入:

3
3 ABC ABC
3 CAB CBA
4 AABB BBAA

样例输出:

Yes
Yes
Yes

样例解释:

  • 对于第一个测试用例:不做操作,就可以使 X 与 Y 相等。
  • 对于第二个测试用例:通过操作 (2) ,可以使 X 与 Y 相等。
  • 对于第三个测试用例:通过操作 (3) ,可以使 X 与 Y 相等。

提示:

可以使用递归或动态规划来解决这个问题。

判断字符串是否可变换为目标字符串

原文地址: https://www.cveoy.top/t/topic/pcXC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录