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\n", ans) ; 23 } 24 return 0 ; 25 }