http://acm.hdu.edu.cn/showproblem.php?pid=1028
初识母函数,感觉这里讲的很好,http://www.wutianqi.com/?p=596做个标签,供以后再学习。并且学习的过程中参考杭电里面的母函数课件。
1g,2g,3g,4g砝码各一个的组合形式如下:
贴1角,2角,3角邮票实例(整数拆分和他就是同一种类型的)
#include <stdio.h>
int res[121];//保存结果
void init()
{
int i, j, k;
int tmp[121];
for(i = 0; i < 121; i ++){
res[i] = 1, tmp[i] = 0;
}
for(i = 2; i < 121; i ++){
for(j = 0; j < 121; j ++){
for(k = 0; k+j<121; k+=i){
tmp[j+k]+=res[j];
}
}
for(j = 0; j < 121; j ++){
res[j] = tmp[j];
tmp[j] = 0;
}
}
}
int main()
{
int n;
init();
while(scanf("%d", &n)!=EOF){
printf("%d\n", res[n]);
}
return 0;
}