Buenas,
quería compartir con vosotros esta pequeña aplicación que he hecho. Como su nombre indica, sirve para solucionar sudokus. Más que a nivel práctico, es interesante a nivel teórico (a nivel de estructuras de datos, y algoritmia), es decir el código en si. Seguramente a la mayoría no os interese, puesto que no tiene nada que ver con malware, pero bueno.
Básicamente, usa la técnica de BackTracking (y programación dinámica), pero de forma iterativa. Además, hace uso de una pila, una cola, y una lista con iterador.
La idea es, en una lista iterable, ir añadiendo las casillas vacías. En una cola, ir almacenando los posibles candidatos de dichas casillas. Y por último, ir guardando los candidatos que no hemos probado todavía, en una pila.

No pongo imagen, lo interesante es el código.

Adjunto el proyecto en .zip

Un saludo!

P.D: Por cierto, el código está casi completamente comentado.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
github.com/Slek-Z
Quedo muy guapo y muy interesante.

Lo único que siempre lo resuelve de la misma forma.

Fuese mejor si tuviese algo mas aleatorio.

Excelentes Ejemplos me encantó la pila.

saludos
Imagen
Gracias :)

Ya, también lo pensé, pero los sudoku sólo deberían tener una única solución posible, es una regla.

Muchas gracias por comentar :)
github.com/Slek-Z
Slek escribió:Gracias :)

Ya, también lo pensé, pero los sudoku sólo deberían tener una única solución posible, es una regla.

Muchas gracias por comentar :)
si si, eso lo entiendo pero a lo que me refiero es que los valores pueden variar de posición en el arreglo.


pero en fin es lo de menos.

Excelente Trabajo .
Imagen
Muchas gracias :)
Hay un pequeño error en la cList, en el método remove, pero no afecta al funcionamiento del solucionador jeje

Cambiar

Código: Seleccionar todo

CopyBytes Arr(0), Arr(1), 2*(s - 1)
por

Código: Seleccionar todo

CopyBytes Arr(i), Arr(i+1), 2*(s - (i + 1))
Saludos!
github.com/Slek-Z
Genial !

En Sudoku no pasaba del primer cuadrito xD.

Gracias por el proyecto, sera de mucha utilidad.

demonio666vip escribió:Seguimos haciendo lo que mas sabemos hacer... Indetectar malware!
Por eso somos Indetectables.net
Responder

Volver a “Fuentes”