#include<stdio.h>
#include<string.h>
int main(){
int num[30],c1[60],c2[60];
int n,s,i,j,k,t;
scanf("%d",&n);
while(n--){
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
for(i=1;i<=26;i++){
scanf("%d",&num[i]);
}
for(i=0;i<=num[1];i++){
c1[i]=1;//首先对c1初始化,由第一个表达式(1+x+x2+..xn)初始化,把单词从0到n的所有都初始化为1.
}
for(i=2;i<=26;i++){
for(j=0;j<=50;j++){
for(t=k=0;k+j<=50&&t<=num[i];k+=i,t++){
c2[j+k]+=c1[j];
}
}
for(j=0;j<=50;j++){
c1[j]=c2[j];
c2[j]=0;
}
}
for(s=0,i=1;i<=50;i++){
s+=c1[i];
}
printf("%d\n",s);
}
return 0;
}
hdu 2082 单词数
最新推荐文章于 2021-05-04 07:15:58 发布