d904: 換零錢

上傳作業http://203.68.236.9/problem/b0033

出處 http://zerojudge.tw/ShowProblem?problemid=d904

內容 :

可憐的貝茜在Slobbovia邊境的便利商店工作。Slobbovian國的人使用不同與美國不同的幣值,而且幣值隨時在更動!

請你幫助貝茜做出最佳情況硬幣數給Slobbovian顧客。你需要用N(1<=N<=10)種不同的硬幣數提供C(1<=C<=1000)美分給顧客。你可以假設所有的測資都是可以用此N種硬幣提供出來的。

舉例:如果有5種不同的幣值50,25,10,5,1可用,貝茜將找出93美分的最佳情況硬幣數(最少的硬幣),用1個50,1個25,1個10,1個5,3個1的硬幣(共7個硬幣)為最佳硬幣數。

那能有多難呢?最後兩個測資較具有挑戰性。

輸入說明 :

每筆測資的第1行有兩數字C與N,其中用一個空格隔開 接下來的第2到第N+1行為各種不同的幣值

輸出說明 :

輸出最佳情況硬幣數

範例輸入 :

93 5

25

50

10

1

5

範例輸出 :

7

提示 :

出處 :

USACO 2007 January Competition (管理:B88000005)

解題策略

DP

每次決定新加入的貨幣面額,要使用與不使用的零錢個數,找比較小的更新,最後結果。