IPB
ЛогинПароль:

> Новый Морской бой
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


В общем.. ига такая на логику... Весь инет облазил в поисках инфы, ничего не нашел.. попалась случайно вместе с журнальчиком 777. Суть игры:
Дано поле. По вертикали и горизонтали расположены числа 0..9. Каждое число предполагает наличие в в линии такого количества фрагментов кораблей. Набор кораблей стандартный. В общем прожка по идее должна выдать расстановку кораблей. Ваши соображения по поводу)))) smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Вот поразмыслил я над твоим предложением перебором сделать решение... Вот что, в принципе идея неплохая.
Скорее всего его буду использовать. Ты прав, там много на человека завязано, да и не всегда работать будет.
Только вот поподробнее вот об этом месте пожалуйста
Цитата

А теперь выбираем следующую строку/столбец, в которой количество вариантов минимально, но уже учитываем поменявшуюся обстановку на поле. Например, если в строке записана сумма 8, но уже известно, что одна (определенная) клетка там - пустая, а другая - фрагмент корабля, то здесь у нас уже не С из 10 по 8, а С из 8 по 7.

допустим клетка уже определена, ну и как её при откате распознать, что не создана она была в течение этого хода? И еще, как использовать(распознать) такую ситуацию: на первом ходе вычислили клетку, вокруг которой в СТРОКЕ!!! пустые. Ведь это может быть н-палубник по вертикали))) и как тогда?
Цитата

Перебирая варианты нужно, конечно, считать встретившиеся корабли, чтобы вовремя сделать откат противоречивого варианта.
Для удобства откатов лучше хранить не матрицу состояний (0 - не знаем, 1 - фрагмент, 2 - пусто), а матрицу целых чисел (0 - не знаем, -1 - фрагмент, K>0 - пусто, причем является результатом К выводов).
Тогда, когда мы в некоторую клетку ставим -1, мы должны просто инкрементировать всех соседей по диагонали, тем самым обозначая, что там - пусто (при этом проверяя отсутствие противоречий), а для отката достаточно будет просто декрементировать обратно, а не запоминать и восстанавливать все 8 соседей.

И вообще можешь поподробней об откате, а то вот с ним у меня будет косяк))
Уже написал действующий код, генерирующий поле автоматически.
Дааа... И еще, проблема памяти(глубины стека) возникает. Ведь функция, которая реашает задачу будет рекурсивной, или я ошибаюсь? Если ошибаюсь, то как иначе?

Сообщение отредактировано: bLACK_wINGS -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
bLACK_wINGS   Новый Морской бой   9.10.2006 2:16
Bokul   А по форуму поискать? морской бой (растановка кора…   9.10.2006 2:25
bLACK_wINGS   2Bokul: Нее.. это я уже смотрел... там чисто генер…   9.10.2006 2:32
Bokul   Да не то. Это я сначала не правильно задание по…   9.10.2006 2:41
bLACK_wINGS   2Bokul: Да набор такой: 4-однопалубников 3-двухпал…   9.10.2006 2:47
Bokul   Еще одно: Какой размер доски и может ли повторятся…   9.10.2006 3:03
Michael_Rybak   Я бы попробовал такой перебор. Рассмотрим пустую …   9.10.2006 4:46
bLACK_wINGS   2Michael_Rybak Ё-моё.. а не будет ли много мороки …   14.10.2006 2:15
Michael_Rybak   Давай :) EDIT: >Ё-моё.. а не будет ли много мо…   14.10.2006 3:01
bLACK_wINGS   Вот отсканенный типа алгоритм... Но как программу…   28.10.2006 14:42
Michael_Rybak   этот алгоритм вродь как лучше чем перебор Как с…   28.10.2006 17:13
bLACK_wINGS   2Michael_Rybak Да решал я эти головоломки, ну алго…   1.11.2006 0:30
Michael_Rybak   Вот оно как? Ну и замечательно! Что именн…   1.11.2006 0:43
bLACK_wINGS   Вот поразмыслил я над твоим предложением перебором…   2.11.2006 23:34
Michael_Rybak   Глубины более чем достаточно, потому что 1) глуб…   3.11.2006 1:08
bLACK_wINGS   В принципе с твоей функцией понятно. Однако у меня…   3.11.2006 2:18
Michael_Rybak   Во-первых, делаешь ты это как-то запутанно. Если…   3.11.2006 3:00
bLACK_wINGS   ВСЁЁЁ :rolleyes: :rolleyes: Дописал... Всего то …   12.11.2006 21:06


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 8:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name