powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм плотного размещения прямоугольников
22 сообщений из 22, страница 1 из 1
алгоритм плотного размещения прямоугольников
    #35831724
blaka zakata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет!!

высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера
просто посчитать площадь и поделить не прокатит,
т.к. часть из флаеров на этом листе можно размеситть горизонтально, а часть вертикально.

спосип.
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35831763
Crazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blaka zakata
высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера

произвольное количество
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35831782
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crazzyblaka zakata
высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера

произвольное количество

несколько
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35831783
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наиболее вероятно - рекурсией.

4 8 15 16 23 42
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35831848
Crazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а если серьезно, то один к одному задача раскроя материала.
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35831984
Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q
Гость
А резать это все потом как!?

обычно в полиграфии в таких ситуациях тупо выбирают одну из двух возможных ориентаций...
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35832290
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если размер флаера большой по отношению к листу бумаги порядка 2:1 или 3:1 то тут задачка решается в уме. Просто приложить горизонтально или вертикально и посчитать сколько влезет. Если лист очень большой, то задача решается комбинаторно. Бросаем часть листов вдоль. Часть поперёк и смотрим остатки. Изменяем пропорцию. Минимизируем остатки. Это очень упрощённый алгоритм.

Вам повезло, что только прямоугольники.
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35832305
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QА резать это все потом как!?

обычно в полиграфии в таких ситуациях тупо выбирают одну из двух возможных ориентаций...

А вроде коммерческий софт, решающий задачу раскроя материала в мебельном производстве, в строительстве, в машиностроении, ... учитывает критерий стоимости непосредственной разрезки, судя по рекламным описаниям и что показывают на выставках. Причем помнится даже решают задачу, когда материал по размерам меньше и надо требуемое собирать из кусков по-больше.
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35832367
Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q
Гость
В мебельном производстве нет тиражей 50000+ экз. Там даже если раскройщик пару минут репу почешет, с какой стороны к размеченной заготовке подходить, на себестоимости это не сильно скажется. :)
А в полиграфии каждый лишний грамм геморроя в технологии -- нехилые убытки. :)
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35833237
blaka zakata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикольна

но ниче не понял. честно.

неть уже готовых реализаций? на любом доступном языке программирования?
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35833245
blaka zakata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Вам повезло, что только прямоугольники.угу, тока они
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35836687
Valer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если флаер прямоугольник,
то у вас задача раскроя листового материала (ДСП, стекло)
они существуют и продаются
бесплатных не видел
сколько элементов надо размещать на листе?
если 20-30, то выложите пример ( исходных данных ) , попробую решить
если больше 50, то не надо
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35840675
blaka zakata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valerесли флаер прямоугольник,
то у вас задача раскроя листового материала (ДСП, стекло)
они существуют и продаются
бесплатных не видел
сколько элементов надо размещать на листе?
если 20-30, то выложите пример ( исходных данных ) , попробую решить
если больше 50, то не надо
лист - формат А3
флаер - пусть задается размерами W*H (ну, ширина и высота)
ширина - от 10 до 20 см
высота - тоже.

то естья всяко больше 50 флаеров на лист не влезет :)
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35840676
blaka zakata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS спосип
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35843068
Valer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сам не хочу придумывать исходные данные
( у меня на моих данных все нормально )
размеры желательно в целых числах
выдайте размер листа 640 x 297
и список
1 12, 4
2 22, 5
...
30 14, 12
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35847048
Фотография retty_jj_007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blaka zakata,
если код (там 20 строк) еще нужен дай знать
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35926254
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
retty_jj_007, если не жалко, выкладывай здесь, очень интересная задачка
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35926766
Дональдак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно с помощью генетических алгоритмов решать. У нас в универститете на конференции как раз такую задачу девушка решала разными методами (вариации отбора генов).

Очень хорошие результаты получала, к тому же в ее программе можно было выбирать произвольные формы плоскости и фигур для заполнения плоскости.
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35927314
anubys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант, задача решается с помощью двойственного симплекс-метода, при условии, что известны несколько наиболее вероятных способов раскроя, среди которых надо выбрать оптимальный.
К сожалению, сюда текст с формулами не получится вставить. Но можно погуглить "Задача о раскрое материалов".
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #35927350
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Меня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #36011579
Фотография retty_jj_007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinoМеня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
нах он тебе нужен; всё это хня
...
Рейтинг: 0 / 0
алгоритм плотного размещения прямоугольников
    #36042479
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinoМеня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
прошу прощения, vino, я был чудовищно невежлив. Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;

int tcs, n, m, p, w, h;
int a[ 605 ][ 605 ];

int main() {
    //freopen("E:\\C++\\SPOJ\\TestData\\88.txt", "rt", stdin);
    //freopen("E:\\C++\\SPOJ\\TestData\\99.txt", "wt", stdout);
    scanf("%d", &tcs);
    while (tcs-- > 0) {
        scanf("%d %d", &m, &n);
        for (int i =  0 ; i <= n; ++i)
            for (int j =  0 ; j <= m; ++j)
                a[i][j] = i * j;
        scanf("%d", &p);
        for (int i =  1 ; i <= p; ++i) {
            scanf("%d %d", &w, &h);
            ////a[w][h] =  0 ;
            a[h][w] =  0 ;
        }
        for (int x =  1 ; x <= n; ++x) {
            for (int y =  1 ; y <= m; ++y) {
                for (int c =  1 ; c < y; ++c)
                    a[x][y] = min(a[x][y], a[x][c] + a[x][y - c]);
                for (int c =  1 ; c < x; ++c)
                    a[x][y] = min(a[x][y], a[c][y] + a[x - c][y]);
            }
        }
        printf("%d\n", a[n][m]);
    }

return  0 ;
} 
это под эту задачу: http://www.spoj.pl/problems/PHIDIAS/
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм плотного размещения прямоугольников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]