Dos Semi-Caballeros se Conocen


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal

Daniel ama mucho el ajedrez. Incluso se le ocurrió una pieza de ajedrez propia, un semicaballero. El semicaballero puede moverse en cualquiera de estas cuatro direcciones: 2 casillas adelante y 2 casillas a la derecha, 2 casillas adelante y 2 casillas a la izquierda, 2 casillas atrás y 2 casillas a la derecha y 2 casillas atrás y 2 casillas a la izquierda. Naturalmente, el semicaballero no puede moverse más allá de los límites del tablero de ajedrez.

Daniel puso dos semicaballeros en un tablero de ajedrez estándar. Daniel se mueve simultáneamente con ambos semicaballeros. Los cuadrados son bastante grandes, por lo que después de algún movimiento los semicaballeros pueden encontrarse, es decir, pueden terminar en el mismo cuadrado. Después de la reunión, los semicaballeros pueden seguir adelante, por lo que es posible que se reúnan de nuevo. Daniel se pregunta si existe tal secuencia de movimientos cuando los semicaballeros se encuentran. Daniel considera que algunos cuadrados son malos. Es decir, no convienen para la reunión. Los semicaballeros pueden moverse a través de estos cuadrados pero sus encuentros en estos cuadrados no cuentan.

Daniel preparó varios tableros de ajedrez. Ayuda a Daniel a averiguar si los semicaballeros pueden encontrarse en una buena casilla para cada tablero.

Entrada

La primera línea contiene el número entero t (1 \leq t \leq 50) – el número de tableros. Cada tablero está descrito por una matriz de caracteres, que consta de 8 filas y 8 columnas. La matriz consta de los caracteres '.', '#', 'K', que representan un cuadro bueno vacío, un cuadro malo y la posición del semicaballero, respectivamente. Se garantiza que la matriz contiene exactamente 2 semicaballeros. Las casillas iniciales de los semicaballeros se consideran buenas para el encuentro. Las pruebas están separadas por una línea vacía.

Salida

Para cada caso de prueba, imprima en una sola línea la respuesta al problema: 'YES', si los semicaballeros pueden encontrarse y 'NO' en caso contrario.

Ejemplo de Entrada

2
........
........
......#.
K..##..#
.......#
...##..#
......#.
K.......

........
........
..#.....
..#..#..
..####..
...##...
........
....K#K#

Ejemplo de Salida

YES
NO

Explicación

Considere el primer tablero de ejemplo. Supondremos que las filas y columnas de la matriz están numeradas del 1 al 8 de arriba a abajo y de izquierda a derecha, según corresponda. Los caballos pueden encontrarse, por ejemplo, en el cuadro (2, 7). El semicaballero del cuadro (4, 1) va al cuadro (2, 3) y el semicaballero va del cuadro (8, 1) al cuadro (6, 3). Luego, ambos semicaballeros van a (4, 5) pero esta casilla es mala, por lo que se mueven juntos a la casilla (2, 7).

En el segundo tablero los semicaballeros nunca se encontrarán.


Comments

There are no comments at the moment.