hdu 1587

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1587

题意:有n种花每种数量无限多,价格是p[i],有m元钱最多能买多少支。

mark:这题竟然不给数据范围。不过好像数据范围不大,m不超过10000,n不超过1000。一开始以为是完全背包后来发现根本就是个贪心。。。

代码:

 1 # include <stdio.h>
 2 # include <stdlib.h>
 3 
 4 
 5 int a[1000] ;
 6 int cmp(const void *a, const void *b)
 7 {
 8     return *(int*)a - *(int*)b ;
 9 }
10 
11 
12 int main ()
13 {
14     int n, m, i, ans ;
15     while (~scanf ("%d%d", &n, &m))
16     {
17         for (i = 0 ; i < n ; i++)
18             scanf ("%d", &a[i]) ;
19         qsort(a, n, sizeof (a[0]), cmp) ;
20         for (i = 0, ans = 0 ; i < n ; i++)
21             ans += m/a[i], m %= a[i] ;
22         printf ("%d
", ans) ;
23     }
24     return 0 ;
25 }
原文地址:https://www.cnblogs.com/lzsz1212/p/3297946.html