编程题
### 问题描述 诺伊和星迪是两个科幻世界的探险家,他们在一次探险中发现了一台神秘的密码机器。这台机器可以接收两个二进制字符串 $A$ 和 $B$,并且可以对字符串 $A$ 进行一种特殊的操作: 1. 选择一个素数 $X$。 2. 选取长度为 $X$ 的 $A$ 的任意子串,并翻转这个子串。 经过任意次(包括零次)的操作后,如果字符串 $A$ 可以变为字符串 $B$,那么密码机器就会开启,否则就会保持关闭。 诺伊和星迪想要开启这台机器,他们需要你的帮助。你能帮他们解决这个问题吗? ### 输入格式 输入的第一行将包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含多行: - 第一行包含一个整数 $N$ —— 字符串 $A$ 和 $B$ 的长度。 - 第二行包含二进制字符串 $A$。 - 第三行包含二进制字符串 $B$。 数据范围保证: - $1 \leq T \leq 100$。 - $1 \leq N \leq 10^5$。 - $A_i$ 和 $B_i$ 只包含 $0$ 和 $1$。 - 所有测试用例中 $N$ 的总和不超过 $10^5$。 ### 输出格式 对于每个测试用例,如果你可以通过任意次的操作使字符串 $A$ 变为字符串 $B$,则在新的一行中输出 "YES",否则输出 "NO"。 ### 样例输入 ```text 4 2 00 00 4 1001 0111 5 11000 10010 5 11000 11010 ``` ### 样例输出 ```text YES NO YES NO ``` ### 说明 对于第一个测试用例:两个字符串已经相等,因此我们不需要进行任何操作。 对于第二个测试用例:我们无法通过任意次的操作使字符串 $A$ 变为字符串 $B$。 对于第三个测试用例:选择 $X=3$ 并翻转子串 $A[2,4]=100$,这样字符串 $A$ 就变成了 $10010$,这正是我们想要的字符串 $B$。 对于第四个测试用例:我们无法通过任意次的操作使字符串 $A$ 变为字符串 $B$。
查看答案
赣ICP备20007335号-2