Алгоритм розположения обектов
Есть масив обектов 6х6 в (идеале NxN) и есть 4 типа обектов (в идеале М) нужно их розположить по масиву случайным образом так чтобы они не "касались" друг друга, ни по Х ни по У. Тоесть чтобы обект конкретного типа был вдали от такогоже обекта.
Это аналог насколько я понял задачи о 8 ферзях, где требуеться на доске раставить 8 ф., так чтобы они не атокавали друг друга. Давай мыло пришлю информацию, а так можешь в google или еще где поискать. Хотя здесь еще проще, может на досуге подумаем.)
ну не совсем, обекты то должны полностью заполнить все поле просто по соседству снизу сверху справа и слева не должно быть одноименных
324
1?3
241
Нужна 5 краска.
Или может быть такой случай
123
412
123,
то самый простой способ просто бегаешь по массиву N*N раз и если ячейка не заполнена(например обнуляешь массив), то вставляешь на это место одно из числе 1234, анализируя обстановку у соседей. Но этот способ не эффективен, для больших N.
...
Нужна 5 краска.
[/quote]
Ничего подобного, всегда достаточно 4 красок.
Читай сообщение лучше.
Цитата:
Если я тя правильно понял...
Там явно указано, что задание описано недостаточно, нужнен пример коректного расположения. Описание очень расплывчато.
И еще при ответ, хоть как-то обосновывай.
6 на 6 и N на N тяжело анализировать. Возьмём 2 на 2 (мин).
На нём 4 обьекта как раз можно расположить.
21
34
Теперь если заполнить таблицу 6 на 6 такими картами(пленерами)
получим что условие выполняется:
212121
343434
212121
343434
212121
343434
Теперь нам,допустим,случайность хочется. Случайность достигается
поворотом пленера на пи/2. Но,
тут уже необходим анализ положения
соседних пленеров. Пленеров - несколько тк пленер вариант броска 4 объектов на квадратик 2 на 2. Из них одни пленеры получаются поворотом других. Значит, можно выделить некоторый базис и потом его объекты вращать и сравнивать.
Таким образом можно попробовать сделать
массивы базисов и сравнивать их. Либо получив одно решение
менять в нем 2 на 1 и тд для получения новых вариантов. Вообще, задача интересная и для общего случая M и N оба не фиксированны может решения и не иметь(пример N=6, M<4).
Цитата:
по соседству снизу сверху справа и слева не должно быть одноименных
Вся загвоздка вопроса, как понимать эту фразу, и учитывая, что тот кто задал вопрос молчит, ему это уже ненужно.
Я ее понимаю так
314
2?3
142