結果 : algorithm design techniques greedy dynamic programming and divide and conquer