AT_arc166_a.[ARC166A] Replace C or Swap AB

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定由 A、B、C 组成的长度为 NN 的字符串 XX 和 YY。

你可以对 XX 进行以下三种操作(每种操作可以执行任意次,包括 00 次),请判断是否可以将 XX 变为 YY。

  • 操作 (1):选择 XX 中的一个 C 字符,将其替换为 A。
  • 操作 (2):选择 XX 中的一个 C 字符,将其替换为 B。
  • 操作 (3):选择 XX 中的一个子串 AB,将其替换为 BA。更形式化地说,选择 XX 中第 ii 个字符为 A 且第 i+1i+1 个字符为 B$ 的 $i$,将第 $i$ 个字符替换为 B,第 $i+1$ 个字符替换为 A`。

给定 TT 组测试数据,请分别回答每组数据是否可以将 XX 变为 YY。

输入格式

输入以如下格式从标准输入读入。

TT
case1\text{case}_1
⋮\vdots
caseT\text{case}_T

每组测试数据格式如下:

N X YN\ X\ Y

输出格式

请输出 TT 行。第 ii 行输出第 ii 组测试数据的答案,如果可以将 XX 变为 YY,输出 Yes,否则输出 No。

输入输出样例

  • 输入#1

    6
    3 ABC ABC
    1 C B
    1 B C
    2 AB BA
    2 BA AB
    3 CCB ABA

    输出#1

    Yes
    Yes
    No
    Yes
    No
    Yes
  • 输入#2

    7
    5 ABABA BABAB
    5 ABCBC BBABA
    5 CCCCC CBABC
    5 BBAAA AAABB
    5 AAABB BBAAA
    5 ACACB BAACB
    5 ACACB BBACA

    输出#2

    No
    Yes
    Yes
    No
    Yes
    Yes
    No

说明/提示

限制条件

  • 1≤T≤2×1051\leq T\leq 2\times 10^5
  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • XX、YY 均为由 A、B、C 组成的长度为 NN 的字符串。
  • 所有测试数据中 NN 的总和不超过 2×1052\times 10^5。

样例解释 1

  • 第 11 组测试数据:可以通过 00 次操作将 XX 变为 YY。
  • 第 22 组测试数据:可以通过 11 次操作 (2) 将 XX 变为 YY。
  • 第 44 组测试数据:可以通过 11 次操作 (3) 将 XX 变为 YY。
  • 第 66 组测试数据:例如依次对合适位置执行操作 (1)、操作 (3)、操作 (1),XX 会变为 CCB → CAB → CBA → ABA,最终与 YY 一致。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页