HDU 2069

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

原以为非得用dp。。。后来查了发现暴力就可以了,所以打个表62ms过了,dp完全背包努力中。。。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,a,b,c,d,e,coin[300]={1},n;
 5     for(i=1;i<=250;i++)
 6     for(a=0;a<=i;a++)
 7             for(b=0;5*b<=i-a;b++)
 8                 for(c=0;10*c<=i-a-5*b;c++)
 9                     for(d=0;25*d<=i-a-5*b-10*c;d++)
10                     {
11                         e=i-a-5*b-10*c-25*d;
12                         if(e%50==0&&a+b+c+d+e/50<=100)coin[i]++;
13                     }
14     while(scanf("%d",&n)!=EOF)
15        printf("%d
",coin[n]);
16     return 0;
17 }
View Code
原文地址:https://www.cnblogs.com/huzhenbo113/p/3245981.html