Jack y Jane decidieron jugar una partida de ajedrez para pasar el tiempo. Desafortunadamente, Jack es bastante malo visualizando. ¡Le resulta difícil imaginar los movimientos posibles para una pieza determinada que no sea un peón, por supuesto!
Su desafío es ayudar a encontrar a Jack las posibles opciones para una pieza determinada (que no sea un peón).
En caso de que uno haya olvidado, las diversas piezas se denotan por:
- K: rey
- Q: reina
- N: caballero
- B: obispo
- R: torre
Como ejemplo, en la siguiente imagen la Knight se encuentra en d4
y se puede mover a c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Para una entrada dada:
Nd4
usted produciría:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Reglas:
- El orden de la salida no importa siempre que se enumeren todos los movimientos posibles
- Los movimientos posibles se pueden separar por espacios en blanco, líneas nuevas o cualquier otro delimitador
- La entrada se puede pasar al programa como parámetro o mediante
STDIN
- Se contarán los espacios en blanco en el programa, por lo tanto, haga un uso óptimo del mismo.
Este es el código de golf. (Por favor, evite utilizar herramientas / utilidades específicamente diseñadas para este propósito). ¡La respuesta más corta gana!
f(x)... case "Q": {f("B");f("R")}
si la función requiere algún #incluye, estos deberían ser parte del recuento de bytes.