hdu1284钱币兑换问题(母函数)

来源:互联网 发布:新农合软件 编辑:程序博客网 时间:2024/04/30 15:20

题目链接:hdu1284钱币兑换问题

母函数:(1+x+x^2+x^3+...)(1+x^2+x^4+x^6+...)(1+x^3+x^6+...)

虽然之前看过,好久不做就会生疏,加紧复习呀

#include<cstdio>#include<cstring>using namespace std;const int num=32770;int dp[num],c[3]={1,2,3},c1[num],c2[num];     //c1记录最终结果 c2记录每次运算的结果void init(){    int i,j,k;    for(i=0;i<num;i++)    {        c1[i]=1;c2[i]=0;    }    for(i=1;i<3;i++)    {        for(j=0;j<num;j++)            for(k=0;k+j<num;k+=c[i])                c2[j+k]+=c1[j];        for(j=0;j<num;j++)        {            c1[j]=c2[j];            c2[j]=0;        }    }}int main(){    int n;    init();    while(scanf("%d",&n)!=EOF)    {        printf("%d\n",c1[n]);    }    return 0;}


0 0
原创粉丝点击