10.06.2014, 14:08 | #1 |
Участник
|
Программное распределение маленьких прямоугольников, в больших
Есть 100 маленьких прямоугольников. Они разные.
И есть 10 больших прямоугольников. Надо распределить 100 маленьких на 10 больших, чтоб осталось как можно больше больших. Т.е. эти большие будут потом нарезаны на маленькие. Надо чтоб целых (больших) осталось как можно больше. Может кто то видел уже какой нибудь готовый велосипед?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
10.06.2014, 14:12 | #2 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: miklenew (16). |
10.06.2014, 14:12 | #3 |
Участник
|
|
|
10.06.2014, 14:16 | #4 |
Участник
|
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
10.06.2014, 14:19 | #5 |
Участник
|
В идеале если бы в инете была программа в которую можно было бы подкидывать размеры прямоугольников в текстовом файле. А на выходе другой текстовый файл с координатами распределения.
Задача наверна стара и поэтому могла бы быть каким нибудь дипломным проектом у какого нибудь студента.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
10.06.2014, 14:39 | #6 |
Участник
|
Нашёл список программ
http://c-a-m.narod.ru/computers/soft-raskroj.html
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
10.06.2014, 15:16 | #7 |
Участник
|
Решал похожую задачу в институте, применял генетические алгоритмы.
|
|
17.06.2014, 11:08 | #8 |
Участник
|
В начале 90-х в досовские времена я видел резидентную программу, которая запускала тетрис и играла в него. Программа перехватывала изображение из видеопамяти, анализировала расположение фигур и управляла падающими фигурами, посылая через прерывание коды клавиш в тетрис,
Программист, написавший эту программу, не смог поступить в институт - провалил вступительный экзамен по математике. В результате потом он уехал в Канаду. |
|
17.06.2014, 21:16 | #9 |
Участник
|
Про тетрис - это, конечно, очень трогательно, но авторы тех же компьютерных игр решали даже в те времена зачастую куда более затейливые задачи, чем анализ фигур из 4-х квадратиков, рисуемых в видеопамяти сплошной заливкой, и анализ "стакана", куда помещается 10 таких квадратиков в ширину и хрендцать в высоту. И слать нажатия клавиш через прерывания под DOS было излишне: то ли DOS, то ли BIOS (не помню за давностью лет) держала в памяти буфер на 16, кажется, скан-кодов клавиш + указатель на текущую позицию в буфере, до которой успело считать приложение, так что эмулировать нажатия клавиш можно было с помощью записи в обычный байтовый массив. Вот если бы он распознавание capcha написал - это да...
|
|
18.06.2014, 09:01 | #10 |
Участник
|
В универе профессор по методам оптимизации рассказывал, что оптимальнее всего оказывается алгоритм аналогичный насыпанию в большую коробку более мелких деталей с последующей хорошей тряской...
Последний раз редактировалось UNRW; 18.06.2014 в 09:01. Причина: зпт |
|
20.06.2014, 13:22 | #11 |
Участник
|
Цитата:
Сообщение от gl00mie
Про тетрис - это, конечно, очень трогательно, но авторы тех же компьютерных игр решали даже в те времена зачастую куда более затейливые задачи, чем анализ фигур из 4-х квадратиков, рисуемых в видеопамяти сплошной заливкой, и анализ "стакана", куда помещается 10 таких квадратиков в ширину и хрендцать в высоту. И слать нажатия клавиш через прерывания под DOS было излишне: то ли DOS, то ли BIOS (не помню за давностью лет) держала в памяти буфер на 16, кажется, скан-кодов клавиш + указатель на текущую позицию в буфере, до которой успело считать приложение, так что эмулировать нажатия клавиш можно было с помощью записи в обычный байтовый массив. Вот если бы он распознавание capcha написал - это да...
Но я встречал много программистов, и каждый из них по-своему хорош. Вообще, я понял, что плохих программистов не бывает. У каждого можно найти что-то интересное. PS И через прерывание передать нажатие клавиши легче, так как это стандартное API BIOS. |
|