hdu 1085 Holding Bin-Laden Captive!

http://acm.hdu.edu.cn/showproblem.php?pid=1085  母函数

View Code
 1 /*母函数*/ 
2 #include<iostream>
3 #include<cstring>
4 using namespace std;
5 const int N=20000;
6 int c1[N],c2[N];//c[i]是x的i次方的系数
7 int num1,num2,num3;
8 void multiply()
9 {
10 memset(c2,0,sizeof(c2));
11 memset(c1,0,sizeof(c1));
12 int i,j;
13 for(i=0;i<=num1;i++) c1[i]=1,c2[i]=0;//c1是第一个括号的系数
14 //2
15 for(i=0;i<=num1;i++)
16 for(j=0;j<=2*num2;j+=2)//2*num2是x的最大次数
17 {
18 c2[i+j]+=c1[i];
19 }
20 int len=num1+2*num2;
21 for(i=0;i<=len;i++) c1[i]=c2[i],c2[i]=0;
22 //5
23 for(i=0;i<=len;i++)
24 for(j=0;j<=5*num3;j+=5)
25 {
26 c2[i+j]+=c1[i];
27 }
28 //找出不能表示的
29 len+=5*num3;
30 for(i=1;i<=len;i++)
31 if(c2[i]==0) break;
32 cout<<i<<endl;
33 }
34 int main()
35 {
36 while(cin>>num1>>num2>>num3)
37 {
38 if(!num1 && !num2 && !num3) break;
39 multiply();
40 }
41 return 0;
42 }


 

posted @ 2012-03-29 22:34  keepmoving89  阅读(125)  评论(0编辑  收藏  举报