#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; }