![]() |
![]() |
bLACK_wINGS |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
В общем.. ига такая на логику... Весь инет облазил в поисках инфы, ничего не нашел.. попалась случайно вместе с журнальчиком 777. Суть игры:
Дано поле. По вертикали и горизонтали расположены числа 0..9. Каждое число предполагает наличие в в линии такого количества фрагментов кораблей. Набор кораблей стандартный. В общем прожка по идее должна выдать расстановку кораблей. Ваши соображения по поводу)))) ![]() |
![]() ![]() |
bLACK_wINGS |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Michael_Rybak |
![]()
Сообщение
#3
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
этот алгоритм вродь как лучше чем перебор Как сказать. На самом деле, этот "алгоритм" - это набор эвристик, уловок, которыми мы пользуемся, решая вручную. Я не уверен, что все эти уловки имеет смысл объяснять машине. Главное - передать идею. А идея - выжимать из текущей позиции максимум информации. Человек это делает изощренно, а машина может и "в лоб" - она быстрая, поэтому ей достаточно объяснить правила в целом, и сказать, где лучше искать "узкие места". А искать их лучше там, где меньше вариантов. Один из методов я предложил - считать варианты в каждой строке. Это, в некоторой степени, геморрой, но совсем не такой страшный, как изучение и кодирование всевозможных эвристик. Кстати, у нас газета "Кроссворды и Головоломки" уже много лет регулярно публикует такие (и многие другие) головоломки. Только там поле 11х11, и набор кораблей больше. Вот, например, сентябрьский номер: http://www.kig.tvpark.ua/_ARC/2006/KG_06_37.PDF. 10я страница, снизу. Для 11х11, возможно, нужен более глубокий анализ задачи. Возможно, плясать уже нужно не от строк, а совместить такие подходы: 1) куда можно поставить каждый из оставшихся кораблей, 2) какой корабль можно поставить в каждую из оставшихся клеток, 3) сколькими способами можно *оставшимися* кораблями заполнить каждую строку и, главное, 4) в каком месте поля перебор ответов на эти вопросы отсечет как можно больше вариантов. Это уже посложнее, но тоже не смертельно. Так что, карты в руки. Если хочешь - начинай пробовать (это входило в твои планы? ;). Если не совсем понятно, с чего начать - спрашивай, будем вместе делать. Для начала напиши проверялку на дельфях - чтоб файлы грузила, сохраняла, генерила рандомом, и вызывала решение из модуля. А там, пока что - заглушка. P.S. А я вот сижу тут и думаю... 6 курс... не развернуть ли мне все это по полной на диплом? Очень даже ничего получится ![]() |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 17:13 |