题目大意:有面值分别为。1,4,9,.......17^2的硬币无数多个。问你组成面值为n的钱的方法数。
最简单的母函数模板题:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
#include <cstdio> #include <cstring> using
namespace std; int c1[305],c2[305],n; int main(){ while(scanf("%d",&n),n){ for(int
i=0;i<=n;i++)c1[i]=1,c2[i]=0; for(int
i=2;i<18;i++){ for(int
j=0;j<=n;j++){ for(int
k=0;k+j<=n;k+=i*i)c2[j+k]+=c1[j]; } memcpy(c1,c2,sizeof
c2); memset(c2,0,sizeof
c2); } printf("%d\n",c1[n]); } } |
HDU 1398 Square Coins,布布扣,bubuko.com
原文:http://www.cnblogs.com/forever97/p/3662345.html