Dynamic Programming And Recursion Definition