Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5527 Accepted Submission(s): 3903
2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 2 6 2 10 2 2 5 6 1 0 2 7 0 2 2 7 5 10 6 10 2 10 6 1 9
7 379297
#include<cstdio> #include<cstring> int c1[55],c2[55]; int val[27]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26}; int num[27]; int main() { int t,i,j,k,sum,used; scanf("%d",&t); while(t--) { for(i=1;i<=26;++i) scanf("%d",&num[i]); memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); for(i=0,used=0;used<=num[1];i++,used++) c1[i]=1; for(i=2;i<=26;++i) { for(j=0;j<=50;++j) { for(k=0,used=0;k+j<=50&&used<=num[i];used++,k+=val[i]) c2[k+j]+=c1[j]; } for(j=0;j<=50;++j) { c1[j]=c2[j]; c2[j]=0; } } sum=0; for(j=1;j<=50;++j) sum+=c1[j]; printf("%d\n",sum); } return 0; }