A9578.替换子串使两串相等
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
题目描述
给你两个长度均为 n 的字符串 s 和 t。两个字符串中的每个字符都是 'a'
、'b'
或 'c'
。
在一次移动中,你可以执行以下操作之一:
- 选择 s 中的一个子字符串
"ab"
将其替换为"ba"
; - 选择 s 中的一个子字符串
"bc"
将其替换为"cb"
。
你可以执行任意次上述操作。能否将字符串 s 变为与字符串 t 相等?
输入格式
每个测试点包含多个测试用例。第一行为测试用例的总数 q(1≤q≤104)。
每个测试用例的第一行表示字符串 s 和 t 的大小 n(1≤n≤105)。
每个测试用例的第二行为一个长度为 n 的字符串 s 仅由小写字母 'a'
,'b'
和 'c'
构成。
每个测试用例的第三行为一个长度为 n 的字符串 t 仅由小写字母 'a'
,'b'
和 'c'
构成。
题目保证所有测试用例的 n 的总和不超过 2×106。
输出格式
对于每个测试用例,如果通过执行任意数量的操作(可能为零)就能改变字符串 s 使其等于字符串 t ,则输出 YES。否则输出 NO。
你可以输出 YES 和 NO 的任意大小写形式(例如,字符串 yEs、yes、Yes 和 YES 都会被视为正确答案)。
输入输出样例
输入#1
5 3 cab cab 1 a b 6 abbabc bbaacb 10 bcaabababc cbbababaac 2 ba ab
输出#1
YES NO YES YES NO