Цитата(Lapp @ 10.11.2009 11:33)
Первое.
В обще-то, очевидно. Просто на всякий случай уточнил.
Цитата
При постановке - да, конечно. Потом - нет.
В принципе это может учитываться с любой стороны. Либо на заставленном кораблями поле, либо при попытке впихнуть очередной корабль. Главное, чтобы учитывалось ровно 1 раз.
Цитата
Это значит при проверке столкновения не залезать на прибрежную зону. Проверка на столкновение ведется в цикле. Соответственно, нужно корректировать границы цикла. Учитывая. что граница пропорциональна примерно корню из площади (количества внутренних клеток), это вряд ли целесообразно.
Понял.
Просто я изначально предположил несколько иной способ сравнения, а именно.
1. Заранее составляется набор масок для каждого корабля и каждого его возможного положения на поле (несколько сотен масок - не так уж много по используемой памяти. Особенно, учитывая, что одна клетка - один бит.)
2. Для какждого из 4-х вложенных циклов используется по отдельному полю.
3. В каждом цикле (кроме самого внутреннего) поле данного цикла сравнивается с маской корабля. При удаче - комбинируется поле следующего уровня и организуется вложенный цикл. На последнем уровне - инкрементируется счетчик удачных позиций. При неудаче данный проход цикла заканчивается.
Цитата
Мммм.. сейчас подумал, что ведь есть же другой способ... думаю, он побыстрее будет.
Может, как раз выше описанный?
Добавлено через 7 мин. Цитата(RathaR @ 10.11.2009 11:34)
Помойму если в задаче сказано найти число возможных розстановок фигур или фишек, в какой либо игре, то прямого отношения к самой игре(за исключением правил розстановки, кои должны быть в условии задачи) она не имеет
Тебе не кажется странным, что, например, лошадь можно обсуждать как на форуме, посвященном животным, так и на форуме, тематикой которого являются транспорные средства. Причем оффтопиком это не будет ни там, ни там.
Цитата
Ничего связаного с этой задачей в этом определении не обнаружил...
Отчего же?
ММХ может явиться
средством решения этой задачи.