判断字符串是否可以通过操作转化为目标字符串
题目描述
给定一个由 'A','B','C' 组成的长度为 $ N $ 的字符串 $ X $ 和 $ Y $。
判断是否存在一系列操作,可以使 $ X $ 变为 $ Y $。
操作规则如下:
- 操作 (1):选择 $ X $ 中的一个字符 'C',将其替换为 'A'。
- 操作 (2):选择 $ X $ 中的一个字符 'C',将其替换为 'B'。
- 操作 (3):选择 $ X $ 中的一个子字符串 'AB',将其替换为 'BA'。
给定 $ T $ 个测试用例,请求每个测试用例的答案。
输入
输入具有以下格式。
$ T $
$ \text{case}_1 $
$ \vdots $
$ \text{case}_T $
每个测试用例的格式如下。
$ N $ $ X $ $ Y $
输出
输出 $ T $ 行。对于第 $ i $ 个测试用例,输出是否存在操作序列使得 $ X $ 变为 $ Y $。如果存在,请输出 'Yes',否则输出 'No'。
限制
- $ 1\leq\ T\leq\ 2\times\ 10^5 $
- $ 1\leq\ N\leq\ 2\times\ 10^5 $
- $ X $ 和 $ Y $ 是由 'A','B','C' 组成的长度为 $ N $ 的字符串。
- 对于一个输入,所有测试用例的 $ N $ 的总和不超过 $ 2\times\ 10^5 $。
样例 1 解释
- 对于第一个测试用例:不需要进行任何操作,$ X $ 已经等于 $ Y $。
- 对于第二个测试用例:可以通过操作 (2) 将 $ X $ 变为 $ Y $。
- 对于第四个测试用例:可以通过操作 (3) 将 $ X $ 变为 $ Y $。
- 对于第六个测试用例:可以通过操作 (3) 将 $ X $ 变为 $ Y $。
原文地址: https://www.cveoy.top/t/topic/pcXw 著作权归作者所有。请勿转载和采集!