Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Алгоритм

263
08 мая 2006 года
koltaviy
816 / / 16.12.2004
Народ, подскажите пожалуйста с алгоритмом.
Суть вот в чем:
1) Есть доски объявлений (размеры разные)
2) Есть объявления, которые размещаются на эти доски (размеры разные)
Нужно при помещении очередного объявления проверить осталось ли место на доске.
К тому же надо нарисовать саму доску и как расположены на ней объявления.
Суть вот в чем:
Работник, вешая очередное объявление, вешает его как-бы на бум, не задумываясь о том, куда повешает следующее. Таким образом при забивании доски получается ситуация, что существует к примеру две незанятые "дыры", к примеру, по 2 см квадратных каждая. Возможно, что эти дыры можно "превратить" в одну, скомпоновав объявления оптимальным способом, и поместить еще одно объявление.
Рисовать это надо, чтобы работник знал как ему надо перевесить объявления.
Ломаю голову уже который день - ничо не могу придумать.
Хотя бы какие-нибудь идеи подкиньте, если кто-нибудь чо-нибудь придумает..
366
08 мая 2006 года
int
668 / / 30.03.2005
Ммм. Сперва вешай самые большие объявления. Начинай с угла (доска-то хоть прямоугоьлная?), далее каждое последующее пытайся втиснуть в свободное место, оставшееся после размещения крупных объявлений (начинай с места рядом с самым большим и по убывающей, объявления обычно крутить нельзя, тут тебе задача упрощается).
Не знаю, насколько оптимален мой вариант, но попробуй.
263
08 мая 2006 года
koltaviy
816 / / 16.12.2004
Цитата:
Originally posted by int
Сперва вешай самые большие объявления.


Не обязательно так. Возможно самое большое объявление по высоте влезет только одно. А вот, допустим объявление поменьше - ровно два. К примеру высота шита 10 см, высота самого большого 7 см, а высота поменьше 5 см. Так лучше размещать сначала объявления поменьше..

Цитата:
Originally posted by int
Начинай с угла (доска-то хоть прямоугоьлная?), далее каждое последующее пытайся втиснуть в свободное место, оставшееся после размещения крупных объявлений (начинай с места рядом с самым большим и по убывающей,..

А куда его "втискивать"? В вертикаль или горизонталь?

Цитата:
Originally posted by int

объявления обычно крутить нельзя, тут тебе задача упрощается).


Задача не упрощается, поскольку объявления крутить можно. Извиняюсь за неточность - под "размерами" я имел ввиду высоту и ширину, а не площадь. Так что можно рассматривать объявления 1х2 и 2х1, как объявления с разными размерами..

8.7K
09 мая 2006 года
Rubicon
55 / / 28.10.2005
Попробуй поискать в направлении задачи о рюкзаке. Насколько я понял, у тебя получается своеобразный "двумерный рюкзак", то есть контрось нужно вести и по длине и поширине.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог