#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int ch[27];
int c1[100],c2[100];
int n;
scanf("%d",&n);
while(n--)
{
memset(ch,0,sizeof(ch));
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
for(int i=1;i<=26;i++)
{
scanf("%d",&ch[i]);
}
c1[0]=1;//做了一个灵活的处理,此时c1不是第一个括号的内容。
for(int i=1;i<=26;i++)//第一到第二十六个括号依次处理。
{
for(int j=0;j<=50;j++)
{
for(int k=0;(k<=ch[i]*i)&&(j+k<=50);k+=i)//和模板差不多,只是判断条件多了一个。
{
c2[j+k]+=c1[j];
}
}
for(int j=0;j<=50;j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
int sum=0;
for(int i=1;i<=50;i++)
{
sum+=c1[i];
}
printf("%d\n",sum);
}
//system("pause");
return 0;
}
转载于:https://www.cnblogs.com/zhangshu/archive/2011/07/26/2116939.html