There isn't an answer to this one. There are some strategies
for doing this with restrained box sizes but the general
case you describe isn't actually solvable. At least no one
has yet. (of course, there may be some genius out there
that just broke NP-complete problems too but...)
I've not heard of anyone solving this or any related 2d
or 3d problem.
The balance problem, aka tape-sides is a good simpler
example. Given a set of weights (or a set of song lengths)
divide them into two sets that have the least difference
in weight (length)
There are a lot of nice strategies but they all have nasty
cases that don't work. Exaustively trying every case is
the only hope. The best bet is to minimize the cases you
have to exhaust. Force everything to inch(cm) boundries,
move boxes on the same. Pack things around the largest
volume item, etc.
Really, not to discourage you too much, it might be a
good idea to start on something a bit simpler, like curing
cancer. =)
--
$you = new YOU;
honk() if $you->love(perl)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.