Three solutions to the knapsack problem: two using backtracking, and one using dynamic programming.