?

Log in

No account? Create an account
необычное судоку - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

необычное судоку [янв. 4, 2015|06:41 pm]
Anatoly Vorobey
[Tags|]

Программист и криптограф Бен Лори сказал как-то: "Судоку - это DoS-атака на человеческий интеллект".

Сегодня я потратил часа два на вот этот необычный вариант, но все же решил:

sudoku-empty
(можно нажать и получить размер больше)

Как в обычном судоку, нужно заполнить доску цифрами от 1 до 9, так, чтобы в каждой строке, каждом столбце, и каждом из девяти квадратов 3x3 цифры не повторялись. В отличие от обычного судоку, здесь нет заранее заполненных цифр, зато даны отношения больше-меньше внутри каждого из девяти квадратов 3x3. Решение есть, причем единственное. Приятного времяпровождения :)
СсылкаОтветить

Comments:
[User Picture]From: ilya_dogolazky
2015-01-04 08:18 pm
перестановок девяти чисел несколько десятков тысяч, неравенства из условия уменьшают это число на порядки, так что всё это с лёгкостью перебирается; совершенно не понимаю, зачем такой фигнёй страдать, когда действительно написать программу проще (и в некотором смысле приятнее)
(Ответить) (Parent) (Thread)
[User Picture]From: _winnie
2015-01-04 09:41 pm
Пример программы, или не верю!
(Ответить) (Parent) (Thread)
[User Picture]From: ilya_dogolazky
2015-01-04 10:52 pm
если ваши навыки программирования составляют хотя бы один процент вашего же ЧСВ, то вы запросто эту программу самостоятельно напишете
(Ответить) (Parent) (Thread)
[User Picture]From: _winnie
2015-01-04 11:49 pm
Напишу, но сомневаюсь, уложусь ли я в 2 часа за которые задачу решил avva
(Ответить) (Parent) (Thread)
[User Picture]From: grundik
2015-01-05 10:37 am
Я, как стартер треда, просил просто дать программу. Я в программировании с 91 года, я читаю Норвига, я знаю, что написать можно. Об этом рассуждать совершенно неинтересно.

Интересно, что из всех людей, которые говорят "да проще написать", привёл решение только ОДИН (плюс автор журнала упомянул, что он доработал чужое решение).
(Ответить) (Parent) (Thread)
From: ilyakor
2015-01-05 04:12 pm
Программа (в "олимпиадном" стиле, написана с нуля за 7 минут, + ещё ~5 минут на вбивание знаков <> с картинки): http://ideone.com/8mKZAk

Почему все так недооценивают возможности написания говнокода на скорость...

Edited at 2015-01-05 16:13 (UTC)
(Ответить) (Parent) (Thread)
From: (Anonymous)
2015-01-07 04:33 am

ой..

Хотел уж восхититься, но.. 7 минут?? Тупо вбил, копируя с экрана. time cat >a.C сказал 15m1.964s. ОК, пару раз притормозил, пытаясь осмыслить, вычтем пару минут, равно не 7.
Говорите, печатаете быстро? Вбил знаки. 1m7.554

Забудем, что вбитый код пришлось исправлять, Вы конечно опечаток в таком темпе не делаете, на отладку времени не тратите...



(Ответить) (Parent) (Thread)
From: ilyakor
2015-01-07 10:04 am

Re: ой..

Нет, я просто пишу код в IDE, а не в блокноте - это сильно ускоряет процесс. Опечаток в начальной версии вообще не было, ошибка была одна и была найдена сразу (без отладки).

Вы всё же существенно недооцениваете скорость написания подобных программ - я уверен, что топовые спортивные программисты (вроде tourist'а) написали бы это существенно быстрее меня.
(Ответить) (Parent) (Thread)
[User Picture]From: ftqkatel
2015-01-05 07:24 am
интересно, какой алгоритм перебора здесь будет самым эффективным. Генетический?

но это конечно не отвечает на первостепенный вопрос )
(Ответить) (Parent) (Thread)