Recursion vs Divide and Conquer vs Backtracking