#P1025. 7unar的像素涂鸦
7unar的像素涂鸦
7unar的像素涂鸦
背景
7unar 期末周复习累了,打开手机上一款叫「像素工坊」的休闲小游戏放松一下。
游戏给了你一排 个像素格子,每个格子要么是黑色块,要么是白色块。
这游戏有个「智能填充」功能——你只要用手指框住连续三个像素,系统就会识别它们的排列模式,帮你一键切换:
-
黑色块 黑色块 白色块一键变成白色块 黑色块 黑色块(反过来也行) -
黑色块 白色块 白色块一键变成白色块 白色块 黑色块(反过来也行)
然而游戏每天只给一个挑战关卡:把初始像素序列 通过有限次智能填充操作,变成目标序列 。
通过了送体力,通不过今天就得看广告或者充钱。
7unar 既不想看广告也不想充钱,请你帮他写个程序:对每个关卡,判断能否从 变到 。
注意:输入中,黑色块用 表示,白色块用 表示。
题目描述
给你两个长度均为 的二进制字符串 和 。
你可以进行以下操作任意次:
-
选择一个子串
001,替换为100(反过来也行:100001) -
选择一个子串
110,替换为011(反过来也行:011110)
判断是否可以通过有限次操作将字符串 变成字符串 。
输入格式
第一行一个整数 (),表示测试数据组数。
每组测试数据:
-
第一行一个整数 (),表示字符串长度。
-
第二行一个字符串 (),由字符 和 组成。
-
第三行一个字符串 (),由字符 和 组成。
保证所有测试数据的 之和不超过 。
输出格式
对于每组测试数据,如果可以变换,输出 YES,否则输出 NO。
大小写不限(例如 yEs、yes、Yes、YES 均视为正确)。
样例
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
YES
NO
YES
NO
NO
YES
YES
NO
YES
样例解释
-
第一组:,无需操作,输出
YES。 -
第二组:无法进行任何操作,,输出
NO。 -
第三组:选择
001,替换为100,,输出YES。 -
第七组:按以下顺序操作后可达到 :
110000100100001100000011,输出YES。