分析:
组成单词好说,价值如何体现?
改变指数就行,例如:
这样,组成的单词,指数就是权值,多项式相乘,指数小于50的就OK;
1 #include2 3 using namespace std; 4 5 int ch[30]; 6 int a[100]; 7 int b[100]; 8 9 10 int main()11 {12 int t;13 scanf("%d",&t);14 while(t--) {15 for(int i=1;i<=26;i++)16 scanf("%d",&ch[i]);17 18 memset(a,0,sizeof(a));19 memset(b,0,sizeof(b));20 21 22 b[0] = 1;23 24 for(int i=1;i<=26;i++) { //26个多项式相乘25 26 for(int j=0;j<=50;j++) { //前面50项加上新的多项式27 28 for(int k=0;k<=ch[i]&&k*i+j<=50;k++) {29 a[k*i+j] +=b[j];30 }31 }32 memcpy(b,a,sizeof(a));33 memset(a,0,sizeof(a));34 35 }36 int cnt = 0;37 for(int i=1;i<=50;i++) {38 cnt+=b[i];39 }40 printf("%d\n",cnt);41 42 }43 return 0;44 }