HDU 1028 Ignatius and the Princess III

来源:互联网 发布:离线搜题软件 编辑:程序博客网 时间:2024/05/21 01:48

题目地址:点击打开链接

思路:母函数模板题,以四为例,求(1+x+x^2+x^3+x^4)(1+x^2+x^4)(1+x^3)(1+x^4)即可

AC代码:
#include <iostream>using namespace std;int main(){    int i,j,k;    int c1[130],c2[130];    int n;    while(cin>>n)    {        for(i=0; i<=n; i++)        {            c1[i] = 1;            c2[i] = 0;        }        for(i=2; i<=n ;i++)//依次从第二个括号开始与前面的运算结果相乘        {            for(j=0; j<=n; j++)//前面的各项结果和后面的式子相乘            {                for(k=0; k+j<=n; k+=i)//控制后面每项式子的增量如,1 + x^2 + x^4 +x^6 +.....增量为2                {                    c2[j+k] += c1[j];//系数相加,因为后面的一个式子系数为1就不加了,如5x^2*x^2相乘后的系数为5                }            }            for(j=0; j<=n; j++)            {                c1[j] = c2[j];//重新赋值,不断重复,直到所有括号都用完                c2[j] = 0;            }        }        cout<<c1[n]<<endl;    }    return 0;}

0 0