Primera mitad del algoritmo: –
1) comienza con un tablero vacío
2) agregue un número aleatorio en una de las celdas libres (la celda se elige al azar y el número se elige al azar de la lista de números válidos para esta celda de acuerdo con las reglas de SuDoKu)
3) Use el solucionador de retroceso para verificar si la placa actual tiene al menos una solución válida. Si no, deshaga el paso 2 y repita con otro número y celda. Tenga en cuenta que este paso puede producir placas válidas completas por sí solo, pero de ninguna manera son al azar.
- ¿Puedes explicar simplemente cómo hacer este jaque mate en tres rompecabezas? ¿Cómo lo resuelves?
- Alguien roba $ 50 de su tienda. Más tarde compran un artículo por valor de $ 40 con el dinero robado. La persona recibe el artículo y el cambio de $ 10. ¿Cuánto dinero has perdido en total?
- Si la palabra ‘MÁQUINA’ se escribe como ‘FRABHUG’, ¿cómo podemos escribir la palabra ‘FLOR’?
- Cómo demostrar que [matemáticas] n ^ 2-10n-20 = \ Theta ({n ^ 2}) [/ matemáticas]
- Cómo resolver: (1/2) ^ x-3 = 16 ^ 3x + 1
4) Repita hasta que el tablero esté completamente lleno de números.
Segunda mitad del algoritmo: –
1) comience con un tablero completo y válido (lleno de 81 números)
2) haga una lista de las 81 posiciones de las celdas y baraje al azar
3) Mientras la lista no esté vacía, tome la siguiente posición de la lista y elimine el número de la celda relacionada
4) pruebe la unicidad utilizando un solucionador rápido (con retroceso si es necesario). Mi solucionador puede contar todas las soluciones, pero se detiene cuando encuentra más de 1 solución.
5) Si el tablero actual tiene solo una solución, vaya al paso 3) y repita.
6) Si el tablero actual tiene más de una solución, deshaga la última eliminación (paso 3) y continúe el paso 3 con la siguiente posición de la lista
7) detente cuando hayas probado las 81 posiciones.
Esto le brinda no solo tableros únicos, sino tableros donde no puede eliminar más números sin destruir la singularidad de la solución.