|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
Придумать алгоритм (работа с двумерным массивом)14.06.2017, 21:35. Показов 1297. Ответов 4
Метки нет (Все метки)
Друзья! Нужен такой алгоритм.
Имеется массив M*N, и все клетки в нём закрашены чёрным цветом. Нужно РАНДОМНО выбрать несколько областей (количество областей регулируется как угодно, параметрами, константой- неважно) и закрасить их белым цветом. Самых главных два условия: 1) После закрашивания не должно оставаться чёрных областей, отделённых друг от друга. То есть после выборки должна остаться чёрная фигура непонятно каких очертаний, но ОДНА. Клетки, соединённые друг с другом по диагонали, считаются принадлежащим к разным фигурам. Этот вариант неприминим, поскольку чёрных фигур ДВЕ Этот вариант применим, поскольку чёрных фигуру ОДНА 2) Рисунок должен быть рандомным. То есть чтобы нельзя было найти никакой закономерности. Вот посмотрите на рисунок ниже. Вот он, казалось бы, рандомный. Он сделан с помощью одного из алгоритмов, который я придумал Если в этом алгоритме сделать количество белых областей меньшим, то оно меньшим и будет, можно также регулировать общее количество белых точек. Все эти мелочи в алгоритме регулируются. Но обратите внимание на края рисунка, они все как бы зубчатые! Расплатой за всю рандомность рисунка является то, что по краям не найдём чёрных последовательностей, длиннее чем две точки. Это закономерность этого алгоритма и её не обойти никак. Таких алгоритмов я напридумывал несколько и в каждом какой-либо недостаток. То несколько чёрных областей получается в результате, то ещё что. Жду вашей помощи, спасибо, кто откликнется.
0
|
|
| 14.06.2017, 21:35 | |
|
Ответы с готовыми решениями:
4
Работа с двумерным массивом Работа с двумерным массивом |
|
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
|
|
| 15.06.2017, 05:24 | |
|
А нельзя наоборот черные точки на белом фоне ставить? Начать с одной случайной точки, затем случайным образом выбрать одну из граней и поставить следующую точку, затем снова выбрать одну из внешних граней итд
Добавлено через 4 минуты Хотя не, не взлетит, неравномерно получится
1
|
|
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
||||||
| 15.06.2017, 09:03 | ||||||
|
Вот есть предложение по методу, но он наивный и будет заведомо медленным.
1
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 15.06.2017, 15:33 [ТС] | ||
|
Основной недостаток - размеры белых областей будут минимальны. Вот я сделал как вы предлагаете, строил чёрные клетки, присоединял по горизонтали и верикали (не по диагонали) В процессе построения чёрной фигуры я исключал такие случаи: (это так называемая четвёрка. Если бы я такие случаи не исключал, то просто было бы чёрное пятно на весь экран) Вот такой результат получается: Казалось бы всё OK. Но белые области не могут быть большими! Вот такая белая область никогда не будет:
0
|
||
|
Модератор
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
|
|
| 15.06.2017, 17:35 | |
|
Посмотрите "генерация лабиринта с толстыми стенками".
1
|
|
| 15.06.2017, 17:35 | |
|
Помогаю со студенческими работами здесь
5
Работа с двумерным массивом Работа с двумерным массивом Работа с двумерным массивом Работа с двумерным массивом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|