Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Пытаюсь сделать sudoku   Найти похожие ветки 

 
Hero ©   (2008-03-25 03:10) [0]

не могу найти алгоритм генерации чисел
помогите плз.


 
Gydvin ©   (2008-03-25 05:37) [1]

А ты гадать их умеешь? Правила знаешь?


 
TUser ©   (2008-03-25 06:43) [2]

На алголисте в разделе Игры было, если не ошибаюсь.


 
Gydvin ©   (2008-03-25 08:07) [3]

Да там писать собсна нечего


 
Johnmen ©   (2008-03-25 09:13) [4]


> не могу найти...помогите плз.

Как ты себе это представляешь?


 
Gydvin ©   (2008-03-25 09:18) [5]

Ради интереса только что написал этот алгоритм. Пол часа работы.


 
DrPass ©   (2008-03-25 09:51) [6]


> Пытаюсь сделать sudoku


> не могу найти алгоритм генерации чисел

Так все-таки сделать, или спереть у кого-то?


 
{RASkov} ©   (2008-03-25 10:25) [7]


> Ради интереса только что написал этот алгоритм. Пол часа работы.

Написать алгоритм - одно, а реализовать его кодом - другое ;)

ЗЫ: Наверняка алгоритм судоки(или как там правильно, я фик знает что это такое) есть в интернете и не в единственном месте.... Мне искать лень.
ЗЫЗЫЖ Также наверняка и реализаций полно :)


 
Gydvin ©   (2008-03-25 10:54) [8]

я про реализацию и говорил )


 
sine   (2008-03-25 11:03) [9]

http://www.sudokutoday.com/sudoku-algorithm.html


 
oldman ©   (2008-03-25 13:03) [10]

Числа-то сгенерить не проблема.
Проблема скрыть часть чисел так, чтобы судоку таки имела решение, причем только одно.
:(


 
Галинка ©   (2008-03-25 13:09) [11]

а нельзя ли после генерации "забыть" скрытые числа и просто применять правила судоку, связав каким-то образом индексы строк/столбцов/квадратов? Или долго?


 
Gydvin ©   (2008-03-25 13:13) [12]

Уже все связано и имеет только одно решение ;0)


 
Gydvin ©   (2008-03-25 13:21) [13]


> Проблема скрыть часть чисел так, чтобы судоку таки имела
> решение, причем только одно.

Все это делается очень просто. Рендомно выбирается ячейка. проверяется, что эта ячейка еще не очищалась. Затем смотрим на ячейки в зоне "видимости" этой ячейки - чтоб был только единственный вариант из возможных. Если да - очищаем ячейку. Если нет - выбираем рендомно следущую. И так двигаемся от полностью заполненой сетки до "сколько надо очистить". Если не получается "сколько надо очистить" - возвращаем все ячейки на место и заново. )


 
Gydvin ©   (2008-03-25 13:22) [14]

В результате получается своеобразная "змейка" решения


 
Галинка ©   (2008-03-25 13:30) [15]

а как осуществить вот это: "смотрим на ячейки в зоне "видимости" этой ячейки - чтоб был только единственный вариант из возможных"?


 
Gydvin ©   (2008-03-25 13:55) [16]

В судоку, по правилам, как?
Цифра не должна повторятся по горизонтали, по вертикали и в своем блоке. Так? Тоесть создаем массив boolean с индексами 1..9. Переходим на нужную ячейку и смотрим что в зоне ее "видимости". Тоесть находим какую либо цифру - в массиве boolean соответствующий индекс переводим в true и так далее. Затем щитаем сколько индексов осталось в false. Если один - очищаем ячейку, если нет...


 
Gydvin ©   (2008-03-25 13:58) [17]

Под "зоной видимости" я имею ввиду - прогуливаемяс по вертикали, горизонтали и в своем блоке. Кроме непосредственно этой ячейки


 
Галинка ©   (2008-03-25 14:22) [18]

понятно.

А сколько максимум цифр можно скрыть?


 
Gydvin ©   (2008-03-25 14:27) [19]

46 цифр свободно скрывает. 48 уже с большим скрипом


 
ЗапомниСынок   (2008-03-25 15:18) [20]

Значит хреновый алгоритм,
при 81 ячейке интересно разгадывать только тогда, когда в каждом квадрате присутствуют 3, иногда 2 цифры, другими словами. алгоритм должен скрывать где-то 54-56 (81-27) цифр


 
Gydvin ©   (2008-03-25 15:27) [21]

;0)

При желание можно скрыть и все 81. Только будет ли головоломка гадаться и будет ли однозначный результат?

А во вторых пофиг. Это нужно не мне, а автору.

Зыж. Хотя похоже ему тоже не нужно )

Во всяком случае.
http://gydvin6.narod.ru/Sudoku.rar

Может кому пригодится.

ЗЫзыж. Код желательно поприлизывать...


 
Hero ©   (2008-03-26 05:16) [22]

Всем спасибо
особенно
Gydvin ©   (25.03.08 15:27) [21]
sine   (25.03.08 11:03) [9]



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
2-1208157567
Костик
2008-04-14 11:19
2008.05.11
Как экзэшнику скопировать себя?....


15-1206529654
Галинка
2008-03-26 14:07
2008.05.11
Можно ли как то в моцилле предопределить размер шрифта?


6-1185952437
leonidus
2007-08-01 11:13
2008.05.11
Компонет для получения страницы из инета по протоколу HTTP


2-1207916107
Alral
2008-04-11 16:15
2008.05.11
TWebBrowser- получение HTML


15-1206945625
TUser
2008-03-31 10:40
2008.05.11
Чтение файлов