已结束 GESP排位赛#5

A1775 | 替换子串使两串相等

时间限制2s
内存限制256MB
通过 / 提交0/0

题目描述

给你两个长度均为 $n$ 的字符串 $s$ 和 $t$。两个字符串中的每个字符都是 'a''b''c'

在一次移动中,你可以执行以下操作之一:
- 选择 $s$ 中的一个子字符串 "ab" 将其替换为 "ba"
- 选择 $s$ 中的一个子字符串 "bc" 将其替换为 "cb"

你可以执行任意次上述操作。能否将字符串 $s$ 变为与字符串 $t$ 相等?

输入格式

每个测试点包含多个测试用例。第一行为测试用例的总数 $q(1 \le q \le 10^4)$。

每个测试用例的第一行表示字符串 $s$ 和 $t$ 的大小 $n(1 \le n \le 10^5)$。

每个测试用例的第二行为一个长度为 $n$ 的字符串 $s$ 仅由小写字母 'a''b''c' 构成。

每个测试用例的第三行为一个长度为 $n$ 的字符串 $t$ 仅由小写字母 'a''b''c' 构成。

题目保证所有测试用例的 $n$ 的总和不超过 $2 \times 10^6$。

输出格式

对于每个测试用例,如果通过执行任意数量的操作(可能为零)就能改变字符串 $s$ 使其等于字符串 $t$ ,则输出 $\tt{YES}$。否则输出 $\tt{NO}$。

你可以输出 $\tt{YES}$ 和 $\tt{NO}$ 的任意大小写形式(例如,字符串 $\tt{yEs}$、$\tt{yes}$、$\tt{Yes}$ 和 $\tt{YES}$ 都会被视为正确答案)。

输入输出样例

输入 #1
5
3
cab
cab
1
a
b
6
abbabc
bbaacb
10
bcaabababc
cbbababaac
2
ba
ab
输出 #1
YES
NO
YES
YES
NO
C++ 编辑器
输入
输出