Debes escribir un programa que analice diversas posiciones de ajedrez, muy simplificadas. En concreto, el jugador negro sólo dispone de su rey, mientras que el jugador blanco sólo dispone de torres, alfiles y damas. Recuerda que los reyes se mueven horizontal, vertical, y diagonalmente, dando un solo paso. Las otras fichas se pueden mover más de una casilla a la vez: las torres, horizontal y verticalmente; los alfiles, diagonalmente; las damas, horizontal, vertical, y diagonalmente.
Tu programa debe determinar todas las posiciones a las que se puede
mover el rey negro, esto es, todas las posiciones vecinas del rey negro
que no están amenazadas por ninguna pieza blanca. (Si el rey tiene una
pieza enemiga a su alrededor, y ésta no está defendida, el rey puede
moverse a esa posición “matando” a la pieza enemiga.) Si el rey negro no
tiene ningun movimiento válido, debes escribir “jaque mate”
si la posición donde se encuentra el rey está amenazada, y
“ahogado” si no lo está.
La entrada comienza con el número de tableros . Siguen tableros. Cada tablero consiste en la posición del rey negro, seguida del número de piezas blancas (entre 0 y 63), seguido de piezas, cada una de las cuales definida con su tipo (T, A o D) y su posición. Las posiciones se definen con una columna (una letra entre a y h) y una fila (un número entre 1 y 8). Todas las piezas de un tablero se encuentran en posiciones diferentes.
Para cada tablero, escribe su número empezando en 1, seguido de todas
las posiciones a las que se puede mover el rey negro, en orden
alfabético. Si no hay ningún movimiento posible, escribe
“jaque mate” o “ahogado” según sea el
caso.
Test1:
Resolver juegos de pruebas como el ejemplo 1, donde el jugador blanco sólo tiene torres.
Test2:
Resolver juegos de pruebas como el ejemplo 2, donde el jugador blanco sólo tiene alfiles.
Test3:
Resolver juegos de pruebas como el ejemplo 3, donde el jugador blanco sólo tiene damas.
Test4:
Resolver juegos de pruebas como el ejemplo 4, donde el jugador blanco tiene piezas de los tres tipos.
Autoría: Salvador Roura
Generación: 2026-01-25T11:15:30.057Z
© Jutge.org, 2006–2026.
https://jutge.org