Dynamic Programming And Recursion In C