題目描述:有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。
如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票:3分、3分、4分即可。
輸入:有多組資料,對於每組資料,首先是要求湊成的郵票總值m,m<100。然後是乙個數n,n〈20,表示有n張郵票。接下來是n個正整數,分別表示這n張郵票的面值,且以公升序排列。
輸出:對於每組資料,能夠湊成總值m的最少郵票張數。若無解,輸出0。
樣例輸入:
1051 3 3 3 4
樣例輸出:
3
0-1揹包問題,具體知識點複習王道機試參考書。
#include#define inf 0x7fffffff
int getmin(int a, int b)
int val[20];
int dp[100];
int main()
for (int i = 0; i <= m; i++)
dp[i] = inf;
dp[0] = 0;
for (int i = 0; i < n; i++)
}} if (dp[m] == inf)
printf("0\n");
else
printf("%d\n", dp[m]);
} return 0;
}
題目1209 最小郵票數
該題目主要使用動態規劃的方法,解題過程中模擬實際的使用方法 include include define max 1000000000 using namespace std int minstep vector allvalue 存放的是所有的面值 int value 需要的面值 三個引數依次是當...
1209 最小郵票數
1209 最小郵票數.cpp 定義控制台應用程式的入口點。題目1209 最小郵票數 時間限制 1 秒記憶體限制 32 兆特殊判題 否提交 2604解決 871 題目描述 有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張...
最小郵票數
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 1680 解決 558 題目描述 有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票 3分 3分 4分即可。輸入 有多組資料,對於每組資料,首先是要求湊成的...