note
grinder
<p>I'm not even going to attempt to write any code for this
because it's pointless. <!-- you moron --> For
positive numbers, the problem
is already NP-complete. When you mix in negative numbers,
it becomes worse. The only feasible way to proceed is to generate all
possible groupings and brute-force your way through them.</p>
<p>For three elements, it's easy: <tt>abc, ab c, ac b, bc a</tt>.</p>
<p>For four elements there is already an explosion of combinations:
<tt>abcd, abc d, abd c, acd b, bcd a, ab cd, ac db, ad cb,
ab c d, ac b d, ad b c, bc a d, bd a c, cd a b, a b c d.</tt></p>
<p>I won't even post what the results of 5 gives, and I doubt
this server has enough disk space available to store all
the possible enumerations of 10 elements.</p>
<p>One could start to develop heuristics that paid special
attention to groups of elements whose sigma matches the
container size, but then that's going against the spirit
of golf.</p>
<p>Noodling around some code here, it looks like the
complexity of the algorithm is O(n!). Which means that it's
going to be quite... slow.</p>
<br><small>--<br><tt>g r i n d e r</tt></small>
82512
82512