/*母函数,求:X的指数 < = 50 的系数和*/
Problem : 2082 ( 找单词 ) Judge Status : Accepted
RunId : 7619556 Language : C++ Author : CherryChou
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
RunId : 7619556 Language : C++ Author : CherryChou
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include<functional> #include<algorithm> #include<iostream> #include<fstream> #include<sstream> #include<iomanip> #include<numeric> #include<cstring> #include<cassert> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<stack> #include<cmath> #include<ctime> #include<list> #include<set> #include<map> using namespace std; int N,a[60],b[60]; int main(){ scanf("%d",&N); while(N--){ int num,i,j,k; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); a[0]=1; for(i=1;i<=26;i++){ scanf("%d",&num); if(num==0) continue; for(j=0;j<=50;j++) // j 是前面 i 个表达式累乘得到的表达式里第 j 个变量 for(k=0;k<=num&&k*i+j<=50;k++) // k 表示第 j 个指数 , 所以 k 每次增加 i
b[k*i+j]+=a[j]; for(j=0;j<=50;j++) a[j]=b[j],b[j]=0; } int total=0; for(i=1;i<=50;i++) total+=a[i]; printf("%d\n",total); } return 0; }