Split a word into parts with equal scores
Perl, 115 118 123

@_=~/./g;for$i(1..1&lt;&lt;@_){$l=$
r;$i&amp;1&lt;&lt;$_?$l:$r+=64-ord$_[$_
]for 0..$#_;$l-$r||$i&amp;1&lt;&lt;$_&amp;&amp;
print$_[$_]for 0..$#_;say""}


Run with perl -nE '&lt;code goes here&gt;'. That 'n' is counted in the code size.

Respaced:

@_ = /./g;
for $i (1 .. 1&lt;&lt;@_) {
  $l = $r;
  $i &amp; 1&lt;&lt;$_ ? $l : $r -= 64 - ord $_[$_] for 0 .. $#_;

  $l - $r      ||
  $i &amp; 1&lt;&lt;$_   &amp;&amp;
  print $_[$_]
    for 0 .. $#_;

  say ""
}


With comments and variable names:

# split a line of input by character
@chars = /./g;

# generate all binary masks of same length
for $mask (1 .. 1&lt;&lt;@_) {

  # start at "zero"
  $left_sum = $right_sum;

  # depending on mask, choose left or right count
  # 1 -&gt; char goes left; 0 -&gt; char goes right
  $mask &amp; 1&lt;&lt;$_ ? $left_sum : $right_sum
    -= 64 - ord $chars[$_]   # add letter value
      for 0 .. $#chars;      # for all bits in mask

  # if left = right
  $left_sum - $right_sum ||

  # if character was counted left (mask[i] = 1)
  $mask &amp; 1&lt;&lt;$_          &amp;&amp;

  # print it
  print $chars[$_]

  # ...iterating on all bits in mask
    for 0 .. $#chars;

  # newline
  say ""
}


Some of the tricks used:


1..1&lt;&lt;@_ covers the same bit range as 0..(1&lt;&lt;@_)-1 , but is shorter. (note that considering the problem from further away, including the range boundaries multiple times wouldn't result in a wrong output anyway)
$left_range and $right_range aren't reset to actual "0" numeric zero: since we just accumulate and compare them in the end, all we need is them to start at the same value.
subtracting 64-ord$_[$_] instead of adding ord$_[$_]-64 wins an invisible character: since it ends with a delimiter, it makes the space before for unnecessary.
Perl lets you assign to a variable determined by the ternary conditional operator: cond ? var1 : var2 = new_value.
boolean expressions chained with &amp;&amp; and || are used instead of proper conditionals.
$l-$r is shorter than $l!=$r
will output a newline even on splits that don't balance.  Empty lines are ok by the rules!  I asked!