母函数水题
#include<stdio.h> #include<string.h> int main() { int i,j,n,c1[55],c2[55],a[27],h,K,t; scanf("%d",&t); while(t--) { for(i=1;i<=26;i++) scanf("%d",&a[i]); memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); c1[0]=1; for(i=1;i<=26;i++) { if(a[i]==0)continue; for(j=0;j<=50;j++) for(h=0;h<=a[i]&&h*i+j<=50;h++) c2[j+h*i]+=c1[j]; for(j=0;j<=50;j++) {c1[j]=c2[j];c2[j]=0;} } K=0; for(i=1;i<=50;i++) K+=c1[i]; printf("%d\n",K); } return 0; }