Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Объединение прямоугольников (количество объединенных прямоугольников минимально) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, является ли билет счастливым с помощью рекурсии http://www.cyberforum.ru/cpp-beginners/thread1227172.html
Проверка является ли билет счастливым (123123 - ДА, 123124 - НЕТ) с использованием в решении рекурсии. Хватило только на простенькое решение... #include <stdio.h> #include <iostream> using...
C++ Приведение любого двумерного массива к типу указатель на указатель Допустим, есть несколько массивов int arr1; int arr2; int arr3; Какое преобразование нужно сделать, чтобы подобные присвоения были допустимыми? int** arrPtr = 0; http://www.cyberforum.ru/cpp-beginners/thread1227171.html
Конфликт имен в библиотеках C++
Здравствуйте. Возникла проблема при одновременном подключении #include <X11/extensions/xf86vmode.h> и #include "FreeImage.h" Код ошибки: In file included from GUIImageManager.h:13:0, ...
C++ Найти среднее арифметическое двух диагоналей массива
Сложная задачка разобраться не могу! ну нада чтобы была формула вычисления а не тупо добавить диагонали и пощитать размер массива может быть любой! Помогите пожалуйста
C++ Как подключить GDI+ в Code::Blocks? http://www.cyberforum.ru/cpp-beginners/thread1227079.html
Здравствуйте. Пытаюсь работать с графикой в Code::Blocks, но, найти GDI+ не удалось: т.е. ни библиотек, ни заголовочных файлов там нет.Откуда их можно скачать/установить? в интернете есть 2-3...
C++ Управляемый препроцессинг Наверняка промахнусь разделом, так что переместите пожалуйста если есть более подходящий.Суть вопроса такова: есть условный исходник, который участвует в сборке под несколько осей и несколько типов... подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
15.07.2014, 13:03
max-gambit, тут однозначного решения не придумаешь. Я лишь предложил метод. Эвристика остается на ваше усмотрение.

Вот прям совершенно первая попавшаяся мысль: сделать многопроходный алгоритм. То есть внешний третий цикл по числу прямоугольников, или даже просто по площади, по гипотетическому количеству ячеек. И на каждой итерации хранить либо два варианта слияний (предыдущую и текущую) и выбирать среди них более подходящую, имеющую меньшее количество прямоугольников, но с большим коэффициентом квадратности. Либо запомнить все варианты различных слияний и потом уже по ним пройтись и выяснить лучший.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru