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