Grazie mille per la risposta. Leggendo la pagina che mi hai consigliato ho notato che l'autore utilizza fin dall'inizio il metodo "a tentativi" ovvero provando tutte le possibili combinazioni fino ad ottenerne una che non violi le regole del Sudoku. Purtroppo, volendo risolvere anche i Sudoku diabolici in un tempo che non superi i 5 secondi, la sua tecnica da sola non potrebbe funzionare:The Sudoku solver took about 5 minutes to come up with the following solution:
Quindi ho deciso di fondere la mia tecnica (aggiungendo degli algoritmi che non tentino tutte le probabilità) con l'algoritmo utilizzato dall'autore della pagina.
Credo che oltre ai 3 metodi che avevo scritto per il controllo delle righe colonne e quadranti, aggiungerò il tuoin quella colonna è sicuro che vanno 2 numeri, non so dove, ma in questo modo li escludi dalle altre celle".
e quello per cui se in una riga c'è una casella che ha un numero possibile che le altre caselle non hanno, allora quel numero sarà il numero definitivo di quella cella, in quanto non può andare in nessun'altra nella riga.
Utilizzando questi due nuovi algoritmi + andando a Random, dovrei riuscire ad ottenere la risoluzione in tempi consoni.
Vi faccio sapere se funziona
ciao e grazie ancora



Rispondi quotando