hdu2069 Coin Change 暴力ac

http://acm.hdu.edu.cn/showproblem.php?pid=2069

原来学百钱买百鸡是写的代码超时。看到一个大牛的也是用的暴力不过比我原来的写法要好很多!一下ac 了!

有用母函数过的,不过我对母函数理解还不深,看不太懂!

用的是二维的数组,写的母函数。

牛人这样提示:

  1. int c1[250][100], c2[250][100];
  2. 状态转移为:
  3. int x = l + j/step[i];
  4. c1[j+k][x] += c2[k][l];

 

下面是暴力代码:

Problem : 2069 ( Coin Change )     Judge Status : Accepted
RunId : 3065001    Language : G++    Author : rll
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta

 

代码
 
   
1 #include < stdio.h >
2 #include < string .h >
3
4   int main()
5 {
6 int n,i,j,k,m,cent,a[ 6 ] = { 1 , 5 , 10 , 25 , 50 },c[ 252 ];
7 memset(c, 0 , sizeof (c));
8 for (i = 0 ;i < 101 && a[ 0 ] < 251 ;i ++ )
9 for (j = 0 ;i + j < 101 && a[ 0 ] * i + a[ 1 ] * j < 251 ;j ++ )
10 for (k = 0 ;i + j + k < 101 && a[ 0 ] * i + a[ 1 ] * j + a[ 2 ] * k < 251 ;k ++ )
11 for (m = 0 ;i + j + k + m < 101 && a[ 0 ] * i + a[ 1 ] * j + a[ 2 ] * k + a[ 3 ] * m < 251 ;m ++ )
12 for (n = 0 ;i + j + k + m + n < 101 && a[ 0 ] * i + a[ 1 ] * j + a[ 2 ] * k + a[ 3 ] * m + a[ 4 ] * n < 251 ;n ++ )
13 c[a[ 0 ] * i + a[ 1 ] * j + a[ 2 ] * k + a[ 3 ] * m + a[ 4 ] * n] += 1 ;
14
15 while (scanf( " %d " ,¢) != EOF)
16 {
17 printf( " %d\n " ,c[cent]);
18
19 }
20 return 0 ;
21 }

 

转载于:https://www.cnblogs.com/rrll/archive/2010/10/13/1850523.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值