How do I understand the dynamic programming table in a coin change problem for using a minimum number of coins? How do I solve a change making problem taking at most one coin of one type using dynamic programming?