//目录

HDU 2082 普通型母函数

 

分析:

组成单词好说,价值如何体现?

改变指数就行,例如:

 

 这样,组成的单词,指数就是权值,多项式相乘,指数小于50的就OK;

 1 #include <bits/stdc++.h>
 2 
 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 }
View Code

 

posted @ 2017-05-28 10:46  小草的大树梦  阅读(155)  评论(0编辑  收藏  举报