2692: 棋子移动

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

在一个1*n的棋盘上有一些棋子,其中n是无穷大的,给你移动棋子的3种规则。
1.如果一个棋子左边第4格(或者右边第4格)没有棋子。那么可以将一个棋子向左(或者向右)移动4格。
...*........
=>
.......*....

...****.....
=>
....****....

....*.**....
=>
...**.*.....
2.如果一个棋子的右边第1格没有棋子,右边第2格有旗子,右边第3格没有棋子。那么可以将这个棋子和右边第2格的棋子都向右移动1格。
...*.*.....
=>
....*.*....
3.如果一个棋子的右边第1格有棋子,右边第2格没有棋子。那么可以将这个棋子向右移动2格,同时拿走右边第1格棋子。
...**.....
=>
.....*....
现在给你两个棋盘的前30个格子的棋子摆放情况,并且假设两个棋盘之后的所有格子都没有棋子。请问能否通过以上的3种规则,将第1个棋盘移成第2个棋盘。

输入

1行,一个数字t,表示数据组数。
对于每组数据,占用3行。第1行是一个空行,第2、3行是按顺序给定的两个棋盘。每个棋盘保证是30个字符,其中“.”表示棋盘的空格,“*”表示一个旗子。

输出

对于每组输入数据,在单独的一行输出“YES”(表示第1个棋盘可以移成第2个棋盘)或者“NO”(表示第1个棋盘不可以移成第2个棋盘)。

样例输入 复制

3

......*.......*...............
.........................*....

******************************
................**............

*...*..**.....................
...........................***

样例输出 复制

NO
YES
NO