Considerem un cavall en un tauler de 8×8 escacs buits. La seva posició es pot donar amb una tupla que indiqui la seva fila i la seva columna:
Recordeu que els cavalls es mouen en "L":
L’ordre de la llista no és important: Els jocs de proves ja l’ordenen amb sort. Però heu d’escriure import Data.List (sort) al principi del vostre programa.
A l’hora de corregir es tindrà en compte la correcció, consició, senzillesa, claredat, elegància i l’ús de les eines de programació funcional de la solució proposada. En aquest problema, l’eficiència és poc important.
Input
dins (4, 5) dins (0, 1) dins (4, 9) sort $ moviments (4, 5) sort $ moviments (1, 1) potAnar3 (1, 1) (4, 5) potAnar3 (1, 1) (4, 6) potAnar3' (1, 1) (4, 5) potAnar3' (1, 1) (4, 6)
Output
True False False [(2,4),(2,6),(3,3),(3,7),(5,3),(5,7),(6,4),(6,6)] [(2,3),(3,2)] True False True False