|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.06.2010, 21:34 | #1 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Решение классического судоку
Всем кому интересно!)
Написал прогу по решению классического судоку. Выдает по идее все возможные варианты решения. Тут представлен проект написанный на NetBeans 6.8 Sydoky.rar - в папке dist можно найти саму jar-ку (для тех кто просто хочет на нее глянуть). Тут небольшой архивчик с некоторыми заданиями(для ленивых): каприз фортуны№14.rar Для чего создал эту тему: 1)Хотел бы узнать ваше мнение о проге (интерфейс, функционал и т.д.) 2)Хотел что бы люди заинтересованные в данной задаче предложили свои способы оптимизировать код. Предложили бы свои алгоритмы. И функции для определения однозначных ситуации, кроме тех что есть у меня. Вкратце о придуманном методе: судоку представляется в виде 9-матриц (9*9) - так сказать матрицы исключений. Каждая матрица соответствует своему числу (1-9) Каждая ячейка такой матрицы заполняется: -1 - точно не стоит, 0 - не известно, 1 - точно стоит. Однозначные ситуации: 1)единственный нуль в строке 2)единственный нуль в столбце 3)единственный нуль в блоке 4)единственный нуль в сквозном проходе (т.е. если исключены все цифры кроме одной для данной ячейки) Используя такие ситуации определяем что на месте этого нуля, стоит соответствующие число. если однозначные ситуации не дали конечного решения, тогда находим решения перебором. P.S. недостатки (пока что не исправил): 1)все работает в одном потоке, поэтому при большом количестве решений, прога временно подвисает. 2)при слишком большом количестве решений (не вывозит сама java), прога долго висит, и в итоге дает нуль (OutOfMemoryError - или что то в этом роде) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Судоку на Делфи | Killerkod | Помощь студентам | 7 | 14.06.2011 14:52 |
Судоку | zmey31313 | Софт | 7 | 13.05.2010 16:12 |
Delphi судоку | fawr | Помощь студентам | 4 | 18.03.2010 23:58 |
Создание судоку | Beliuk | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 18.03.2010 16:15 |
[Анти]-судоку | С.М.С | Софт | 9 | 25.04.2009 13:05 |