最小郵票數

2021-07-15 19:57:32 字數 702 閱讀 2618

題目描述:有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。

如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票:3分、3分、4分即可。

輸入:有多組資料,對於每組資料,首先是要求湊成的郵票總值m,m<100。然後是乙個數n,n〈20,表示有n張郵票。接下來是n個正整數,分別表示這n張郵票的面值,且以公升序排列。

輸出:對於每組資料,能夠湊成總值m的最少郵票張數。若無解,輸出0。

樣例輸入:

10

51 3 3 3 4

樣例輸出:

3

動態規劃問題,和之後的兩船載物、今年暑假不ac、招聘會、熱愛生活(發大公尺)、dota等均為同一型別題目,揹包問題。

在該題中採用動態規劃,跟0-1揹包問題一樣,知道每個郵票的值,求恰好滿足value的最小個數,只是這裡求的是個數不是最大value,計算從1到m面值的最小郵票數 。更新如下

for(int j = m;j>=num[i];j--)

return 0;

}

或者

void minnum(int m,int n)

}if(dp[m]

最小郵票數

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 1680 解決 558 題目描述 有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票 3分 3分 4分即可。輸入 有多組資料,對於每組資料,首先是要求湊成的...

最小郵票數

有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票 3分 3分 4分即可。有多組資料,對於每組資料,首先是要求湊成的郵票總值m,m 100。然後是乙個數n,n 20,表示有n張郵票。接下來是n個正整數,分別表示這n張...

最小郵票數

有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票 3分 3分 4分即可。有多組資料,對於每組資料,首先是要求湊成的郵票總值m,m 100。然後是乙個數n,n 20,表示有n張郵票。接下來是n個正整數,分別表示這n張...