Caballo de ajedrez generalizado

Definamos un caballo (a,b)(a, b) como una pieza de ajedrez que se mueve saltando aa casillas en una dirección y bb casillas en la otra, donde las posibles direcciones son horizontal y vertical. Por ejemplo, el caballo de ajedrez tradicional es un caballo (1,2)(1, 2).

Dados un tablero n×mn \times m con obstáculos, una posición inicial (i1,j1)(i_1, j_1), una posición final (i2,j2)(i_2, j_2), y el par (a,b)(a, b), ¿podéis indicar si un caballo (a,b)(a, b) situado inicialmente en la casilla (i1,j1)(i_1, j_1) puede alcanzar (i2,j2)(i_2, j_2) en dos o menos pasos? El caballo no puede salir del tablero, ni pasar por ningún obstáculo.

Entrada

La entrada consiste en diversos casos, cada uno con nn y mm, seguidos del tablero (nn linias con mm caracteres cada una, donde una ‘X’ indica un obstáculo y un ‘.’ indica una casilal libre), seguidos de i1i_1, j1j_1, i2i_2, j2j_2, aa y bb. Asumid que nn y mm están entre 1 y 42, que (i1,j1)(i_1, j_1) y (i2,j2)(i_2, j_2) son casillas libres dentro del tablero, y 1a<b51 \le a < b \le 5. La casilla superior izquierda es la (0,0)(0, 0).

Salida

Para cada caso, escribid “yes” o “no” dependiendo de si la posición final es alcanzable desde la posición inicial en dos o menos pasos.

Información del problema

Autoría: Unknown
Traducción: Salvador Roura

Generación: 2026-01-25T10:16:33.928Z

© Jutge.org, 2006–2026.
https://jutge.org