Pero ¿cómo que 100 líneas en Python y otras tantas simliras en C, como indicar otro lector? No quiero trolear, pero a principio de curso estuve haciendo un programilla en Java para resolver Sudokus... por fuerza bruta.
La aproximación consistía en crear una matriz de 9x9 elementos, y empezar en la primera casilla con el primer número disponible (por ejemplo, el 1). Tras poner un número, se comprobaba (fila/columna/recuadro) si era correcto, y si lo era avanzaba al siguiente. Si no, retrocedía y aumentaba en uno el número erróneo. Así, hasta completar el Sudoku.
La solución puede parecer poco elegante, pero tengo que decir que era muy muy rápida... y lo mejor de todo, no tenía más que unas ¿50 líneas? Me gustaría haberlo puesto por aquí, pero tuve problemas con el Eclipse y al reinstalarlo se me borraron todos los pequeños proyectos que tenía guardados :(
-- CATS: ALL YOUR BASE ARE BELONG TO US txana [txana.net]
Así es como yo lo hice, pero necesitas recursividad o almacenar en memoria lo que ya hiciste porque hay veces que tienes que volver para atrás. ¿Qué estrategia empleaste?
Lo de que era muy rápido no te lo creas, porque seguro que es de las formas más lentas de resolverlo.
La del tío que la hizo en Python si que parece algo un poco más currado en cuanto a eficiencia.
¡¡¡100 lineas!!!
(Puntos:2)( http://www.txana.net/ | Última bitácora: Viernes, 11 Julio de 2008, 13:07h )
La aproximación consistía en crear una matriz de 9x9 elementos, y empezar en la primera casilla con el primer número disponible (por ejemplo, el 1). Tras poner un número, se comprobaba (fila/columna/recuadro) si era correcto, y si lo era avanzaba al siguiente. Si no, retrocedía y aumentaba en uno el número erróneo. Así, hasta completar el Sudoku.
La solución puede parecer poco elegante, pero tengo que decir que era muy muy rápida... y lo mejor de todo, no tenía más que unas ¿50 líneas? Me gustaría haberlo puesto por aquí, pero tuve problemas con el Eclipse y al reinstalarlo se me borraron todos los pequeños proyectos que tenía guardados :(
CATS: ALL YOUR BASE ARE BELONG TO US
txana [txana.net]
Re:¡¡¡100 lineas!!!
(Puntos:2)( Última bitácora: Miércoles, 10 Marzo de 2010, 15:16h )
Lo de que era muy rápido no te lo creas, porque seguro que es de las formas más lentas de resolverlo.
La del tío que la hizo en Python si que parece algo un poco más currado en cuanto a eficiencia.
omnia sunt communia