Objetivo
El peón negro quiere venganza. Trazar su último ataque.
Reglas
El peón negro ( L) comienza en la fila superior y se mueve hacia abajo a la fila inferior. Maximice los puntos tomados, indicando el camino con X. Los peones ( P) son 1, obispos ( B) y caballeros ( N) 3, torres ( R) 5 y reinas ( Q) 9. No habrá reyes en la entrada.
Si hay más de una ruta que tiene la cantidad máxima de puntos, envíe cualquiera de esas rutas. No habrá situaciones en las que el peón no pueda alcanzar la fila inferior.
Ejemplos
Entrada:
----L---
-----P--
------P-
--R--P-Q
----P-P-
---P-P-P
--P-N---
-P------
Salida:
----L---
-----X--
------X-
--R--P-X
----P-X-
---P-X-P
--P-X---
-P--X---
Entrada:
--L-----
-P------
P-------
-P------
P--Q----
-P------
P-------
-P------
Salida:
--L-----
-PX-----
P-X-----
-PX-----
P--X----
-P-X----
P--X----
-P-X----
                    
                        code-golf
                                graph-theory
                                path-finding
                                chess
                                
                    
                    
                        Ajenjo
fuente
                
                fuente

Respuestas:
Python, 332
fuente
Rubí
260258255241 236222Este programa define una función (
s), que, dadas algunas filas del tablero, devuelve la mejor ruta como una cadena y el valor en puntos de esa ruta.ses recursivo, por lo que en cada paso evalúa todas las posibilidades y devuelve la mejor.Aquí hay una versión en línea con pruebas: http://ideone.com/6eMtm4
La versión legible está disponible aquí: http://ideone.com/eoXUtp
Todos los pasos que tomé para reducir el tamaño del código se pueden encontrar aquí .
fuente