Алгоритм определения пустых квадратов?

Добрый день.
Дана матрица квадратов. Общее поле условно от 0 до 100 ед. Каждый закрашенный квадрат представляет собой объект с целочисленными координатами (x1, y1, width, height). И есть пустые квадраты (белый цвет), которые никак не заданы. Какой наиболее оптимальный способ определения пустых квадратов и формирования из них таких же объектов?
Построчное сканирование всего поля с шагом 1? (на каждом шаге перебор всех объектов? ресурсоемко врое бы) Вычитание из матрицы существующих объектов и потом создание из оставшихся координат новых объектов?(тут пока не совсем понимаю как это реализовать. Создать массив 100 на 100 и вычитать координаты? а потом формировать объекты методом ближайших?).
Вродебы кажется несложная задача, но что то в ступор вошел(. Может есть простое решение, но я его не вижу. Помогите советом.
5a0061ed7fdd0067783742.jpeg
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Например так:
Создаем "карту" - массив 100х100.
Проходим по списку ваших прямоугольников (не называйте их квадратами, плз).
Заносим в карту айди квадрата или цвет, или даже просто 1 для заполненных и 0 для пустых.

Когда нужно добавить новый прямоугольник перебираем "карту" пока не найдется 0, определяем сколько свободно по ширине и высоте, добавляем новый прямоугольник, и не забываем отметить его на "карте".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы