3/3/2014-1152

1. brute force search
2. record every state during searching like a DP, some of the states
can be reused
3. this is another way to use DP array to record states, but literally,
it is not a DP problem, because it has no optimal sub-structures and
sub-solutions
4. Thus, the only thing to which this problem is related is using a DP
array to record the enumerate of states.