czwartek, marca 10, 2011

Sudoku - wstyd mi ;-)

[Updata: mam już lepsze rozwiązanie, które radzi sobie jak mi się wydaje ze wszystkimi Sudoku i to w bardzo krótkim czasie :-)]

Już wiem czemu moje poprzednie rozwiązania były takie sobie...

Za sprytny chciałem być ;-)

Przy każdym kroku generowałem listę wszystkich możliwych w danym momencie "zajętości" pól i dla każdego z takich kandydatów robiłem kolejny krok...... to oznaczało, że przytłaczająca większość "kroków" była powtarzana po wielokroć.

A wystarczy nie kombinować i w każdym kroku zajmować się tylko 1 polem... I wtedy wszystko działa :-)



Ta wersja wzbogaciła się o "moduł" importu, dzięki niemu można do rozwiązywarki wrzucać różne przygotowane wcześniej przykłady. Pomysł jest od WildWezyra z jego Sudoku Solvera, z tym, że u mnie działa na odwrót :-)

Nie jest to jeszcze demon prędkości, ale to tylko dlatego, że korzystam nadal z kodu, który generuje listę kandydatów dla wszystkich pól i dopiero na końcu po posortowaniu ich wg. tego, które jest najbardziej "unikatowe" odrzucam z rozważań wszystkich kandydatów, którzy nie dotyczą tego pola, które jest najbardziej unikatowe.

Kolejny raz mam lekcję, że nie należy kombinować ;-)


Podobne postybeta
Sudoku - atak pierwszy wersja 2 ;-)
Sudoku - przyśpieszamy, ale jeszcze nie za bardzo ;-)
Sudoku - rozwiązanie doskonałe ;p
Sudoku - atak pierwszy ;-)
Sudoku solver - dalsza walka ;-)