Я ищу некоторые указатели на алгоритмы, которые должны позволять разбивать прямоугольники разного размера без перекрытия.
Имея набор прямоугольников разного размера, разместите их на площади размером В x Ш без перекрытия. Цель состоит в том, чтобы максимизировать используемое пространство или, наоборот, минимизировать площадь зазоров. Если места недостаточно, переходите ко второй области того же размера и так далее.
Предполагается, что ширина и высота каждого прямоугольника меньше соответствующих размеров области мозаики. Прямоугольники не поворачиваются и не преобразуются каким-либо другим образом, т. е. их стороны либо горизонтальны, либо вертикальны.
Я не ищу готовый код, просто любопытно, какие подходы/алгоритмы лучше всего использовать для решения этой проблемы.