HDU 2069 Coin Change 母函數求解
這題比普通的母函數求解題目復雜一點,多了組成個數的限制, 要求組合個數不能超過 100 個硬幣,所以將 c1, c2 定義為二維數組, c1[i][j] 表示 c1[結果][組成該結果的個數] ,然後多了一層遍歷個數的循環。
// 母函數求解 #includeusing namespace std; const int MAX = 252; int ans[MAX] = {}; int c1[MAX][MAX], c2[MAX][MAX]; // c1[系數][累加的個數] void getAns() { ans[0] = 1; const int t[] = {0, 1, 5, 10, 25, 50}; for(int n=1; n >n) { printf(%d , ans[n]); } return 0;