Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Пытаюсь сделать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
15-1206640906
Сашик
2008-03-27 21:01
2008.05.11
Архивы старых форумов


2-1207819678
Альберт
2008-04-10 13:27
2008.05.11
Поиск дат рождения на заданную дату


2-1207943501
Megabyte
2008-04-11 23:51
2008.05.11
Скрытый ввод - готовый компонент


15-1206972639
Сатир
2008-03-31 18:10
2008.05.11
Вопрос знатокам Винды ХР


2-1207831691
dumka
2008-04-10 16:48
2008.05.11
Запросы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский