Yo también dividí esa pantalla en los mismos grupos, vértice, pared vertical, pared horizontal y centro, y vi que tenían en común la matriz de elementos a los que podían acceder en caso de no existir ningún movimiento previo.
Así, usando una notación de subíndices del 0 al 8 (de izquierda a derecha), esta era:
Para los vértices: [1,3,4,5,7]
Para los LV: [0,1,2,4,6,7,8]
Para los LH: [0,2,3,4,5,6,8]
Para el centro: [0,1,2,3,5,6,7,8]
Se me ocurrió también que los posibles caminos que podía tomar el patrón podían subdividirse en: vías que el patrón siempre puede tomar, y vías que solo puede tomar en función del camino ya recorrido.
He intentado crear un programa que tenga en cuenta las premisas que explicitas, pero con mis precarios conocimientos de programación (y para rematar solo sé hacerlo en Java), solo he logrado escribir un armatoste que lleva 4 bucles inscritos y que me devuelve las permutaciones iniciales (sin condiciones restrictivas y según la fórmula ) ligeeeramente modificadas

Además investigué un poco y descubrí que también es legal ir de un punto a su simétrico (tanto en horizontal y en vertical como en diagonal), pasando de nuevo por el punto intermedio pero sin que este se vuelva a seleccionar, cosa que lo complica de nuevo (así por ejemplo, sería legal hacer la combinación {1,4,5,3}. Es la historia de nunca acabar...
Dejar un comentario: