¿Cubos de Rubik o Sudokus?

9 comentarios · 4.693 lecturas · juegos

¿Eres un apasionado de los sudokus? ¿Te gusta el cubo de rubik pero no tiene ninguna ciencia ya para ti? Eso tiene una fácil solución.

rubik sudoku

Se trata de Rubik Sudoku, un pasatiempo en el cuál se mezcla la mecánica de los Cubos de Rubik de Ernő Rubik con la lógica de los Sudokus originarios de los trabajos de Leonhard Euler.

El juego contiene una pequeña libreta de 40 páginas con 100 puzzles a elegir, y tiene un precio de alrededor de los 8 o 9 euros.

¿Y lo tuyo qué es? ¿Pasión o Fanatismo?

pasion o fanatismo coche rubik

Conexión a internet más rápida y veloz.

Backtracking: Volviendo atrás

10 comentarios · 10.566 lecturas · programacion

Volviendo hacia atrás en el blog algunas semanas -haciendo backtracking-, comentaba el uso de la recursividad en la programación y lo interesante que resultaba definir algo contenido en la misma definición.

El Backtracking es una técnica de programación de la que se puede partir de la definición de Recursividad (vease definición de recursividad) con la diferencia que, en el backtracking, al existir varios caminos diferentes a elegir, una vez llegado al final y no cumplirse la condición establecida, volvemos atrás para seguir buscando caminos diferentes o alternativos y posiblemente correctos.

La idea del backtracking, si aún no la has entendido, se ve bastante bien en estos ejemplos del Laberinto y las n-Damas (en Java).

sudoku

Finalmente, como lo prometido es deuda, subo la práctica comentada en el anterior artículo sobre recursividad que resuelve sudokus planteados por medio de la técnica del backtracking. Recordar que no es la mejor técnica ni mucho menos para resolver Sudokus, sino prácticamente usar la fuerza bruta para resolverlos con la posibilidad de volver atrás y buscar más caminos.

El programa está realizado para Free Pascal y permite:

  • Insertar números uno a uno (comprobando si es posible insertar el número según las reglas)
  • Cargar y salvar en un fichero de tipo propio los sudokus creados
  • Intentar resolver el sudoku mediante backtracking indicandote si tiene varias, única o ninguna solución y calculando el tiempo que tarda en resolverlo.
  • Borrar el sudoku actual del panel
  • Insertar un sudoku predefinido por coordenadas (ojo! este no comprueba si los números son válidos).

Hay bastante cosas que son mejorables, como por ejemplo quitar algunas variables globales o la inclusión de eliminar algunos números insertando un cero (por ejemplo), pero eso lo dejo para el que quiera modificarlo, asi como el que se anime y lo «traduzca» a otro lenguaje de programación estaré encantado en incorporarlo al artículo.

Programa para resolver sudokus en Free Pascal con algunos ficheros de ejemplo.


Páginas: 1 ... ... 1


Artículo de http://www.emezeta.com/

6 consultas efectuadas / Página generada en 0.029 segundos

Programado íntegramente por José Román (Manz) en XHTML y CSS estándar.

Sindicado bajo Feed RSS. Contenido bajo licencia Creative Commons

Estadísticas de visitas · Términos y condiciones · Contacto · Publicidad · Preguntas frecuentes (FAQ)