1085Holding Bin-Laden Captive!(HDU)母函数模板,来自teddy

1085Holding Bin-Laden Captive!(HDU)母函数模板,来自teddy
 1  #include  < iostream >
 2  using   namespace  std;
 3  int  c1[ 10001 ],c2[ 10001 ];
 4  int  main()
 5  {
 6       int  num1,num2,num5,i,j,k,u,o;
 7       while  (cin >> num1 >> num2 >> num5  &&  (num1 ||  num2  ||  num5))
 8      {
 9             for  (i = 0 ;i <= 10001 ;i ++ )
10            {c1[i] = 1 ;c2[i] = 0 ;} // 初始化 
11 
12                 for  (j = 0 ,o = 0 ;o <= num1;j ++ ,o ++ ) // o为1分数量限制,j为1分组成的价格 
13                {
14                     for  (k = 0 ,u = 0 ;u <= num2;k += 2 ,u ++ ) // k为2分的价格,u为2分个数限制 
15                    {
16                        c2[j + k] += c1[j];
17                    }
18                } // 穷举出所有2分和1分的总和 
19                 for  ( int  w = 0 ;w <= 10001 ;w ++ )
20                {c1[w] = c2[w];c2[w] = 0 ;}
21                 int  t = j + k - 3 ;
22                 for  (j = 0 ,o = 0 ;o <= t;j ++ ,o ++ )
23                {
24                     for  (k = 0 ,u = 0 ;u <= num5;k += 5 ,u ++ ) // 同上,处理5分的情况,母函数真神奇 
25                    {
26                        c2[j + k] += c1[j];
27                    }
28                }
29                 for  ( int  w = 0 ;w <= 10001 ;w ++ )
30                {c1[w] = c2[w];c2[w] = 0 ;} // c2 复制到c1 
31               int  p;
32               for  (p = 1 ;p <= 10001 ;p ++ )
33              { if  (c1[p] == 0
34              { break ;}} // 找出最小的不能表示的价值 
35              cout << p << endl;
36      }
37       return   0 ;
38  }
39  // 甘露大牛的母函数 个人加了批注,学习中。。。 

你可能感兴趣的:(1085Holding Bin-Laden Captive!(HDU)母函数模板,来自teddy)