#1163. 01 串变换(Easy)

01 串变换(Easy)

题目描述

这是该问题的简单版本。在这个版本中,你只需要判断字符串 aa 是否能被转换为字符串 bb

给定两个长度均为 nn 的二进制字符串 aabb

你可以执行以下任意操作:

  • 选定 aa 中等于 001 的子串并将其替换为 100,反之亦然(即 001 \to 100100 \to 001)。
  • 选定 aa 中等于 110 的子串并将其替换为 011,反之亦然(即 011 \to 110110 \to 011)。

你的任务是判断是否可能通过有限次操作,将字符串 aa 转换为字符串 bb

字符串的子串是指通过从原字符串的开头和/或结尾删除若干(可能为零个或全部)个字符所得到的连续字符串片段。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 测试用例的数量。

对于每个测试用例:

  • 第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5)—— 字符串的长度。
  • 第二行包含一个长度为 nn 的二进制字符串 aa,仅由字符 01 组成。
  • 第三行包含一个长度为 nn 的二进制字符串 bb,仅由字符 01 组成。

输出格式

对于每个测试用例,如果能够通过有限次操作将字符串 aa 转换为字符串 bb,输出 YES;否则输出 NO

样例输入 1

9
1
0
0
2
01
10
3
001
100
4
1010
0101
4
1100
1000
5
01001
10010
6
110000
000011
6
111000
000111
7
1001100
0000111

样例输出 1

YES
NO
YES
NO
NO
YES
YES
NO
YES

说明

样例解释

  • 在第一个测试用例中,a=ba=b 已经成立。因此答案是 YES
  • 在第二个测试用例中,我们无法执行任何操作。由于 aba \neq b,答案是 NO
  • 在第三个测试用例中,我们可以选择子串 a[13]="001"a[1\dots3] = \text{"001"} 并将其替换为 "100"\text{"100"},使得 a=ba=b。因此答案是 YES
  • 在第七个测试用例中,我们可以依次进行如下操作: 110000 \to 100100 100100 \to 100001 100001 \to 001001 001001 \to 000011 经过上述操作,字符串 aa 变成了 bb,因此答案是 YES

数据范围

  • 对于所有测试点,保证 1t1041 \le t \le 10^4
  • 对于每个测试用例,保证 1n2×1051 \le n \le 2 \times 10^5
  • 保证同一测试点内所有测试用例的 nn 之和不超过 2×1052 \times 10^5
  • 保证所有的输入字符串仅由 01 组成。