結果 : recursion backtracking and dynamic programming