HDU 2069 Coin Change 母函数求解
?
这题比普通的母函数求解题目复杂一点,多了组成个数的限制, 要求组合个数不能超过 100 个硬币,所以将 c1, c2 定义为二维数组, c1[i][j] 表示 c1[结果][组成该结果的个数] ,然后多了一层遍历个数的循环。
?
?
// 母函数求解
#include
using 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;