Clarke and food(HDU5562)
2016-01-27 14:27
218 查看
Clarke and food
[align=left]Problem Description[/align]Clarke is a patient with multiple personality disorder. One day, Clarke turned into a cook, was shopping for food.
Clarke has bought n
food. The volume of the ith
food is vi.
Now Clarke has a pack with volume V.
He wants to carry food as much as possible. Tell him the maxmium number he can brought with this pack.
[align=left]Input[/align]
The first line contains an integer
T(1≤T≤10),
the number of the test cases.
For each test case:
The first line contains two integers n,V(1≤n≤105,1≤V≤109).
The second line contains n
integers, the ith
integer denotes vi(1≤vi≤109).
[align=left]Output[/align]
For each test case, print a line with an integer which denotes the answer.
[align=left]Sample Input[/align]
1
3 5
1 3 4
[align=left]Sample Output[/align]
2
Hint:
We can carry 1 and 3, the total volume of them is 5.
题意:给定物品的数量以及每个物品的体积,尽可能往一定体积的包里装,求能装下物品的最多个数,看似是DP问题,但仔细再看发现求的是物品最大个数,而不是能装的最大体积,所以只需贪心即可哦哦哦哦哦!!!!!!!
代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,v;
int a[200000]; //看题n的范围,所以要比那个大,我之前开了1000,结果错了,正是因为没看清题,这是小细节噢噢噢噢。。
scanf("%d%d",&n,&v);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n); //排序,这是贪心题的必备
int sum=0,b=0; //sum用来记物品总体积,b用来记物品的个数
for(int i=0;i<n;i++)
{
if(sum+a[i]>v) //直到所装物品体积大于背包体积,跳出整个循环,下边自然也无需继续
{
break;
}
sum=sum+a[i];
b++; //符合条件加1
}
printf("%d\n",b);
}
}
[align=center]
[/align]
相关文章推荐
- HDU5562——Clarke and food
- hdu5562(贪心)
- 常用JavaScript代码
- jsdoc propertype方式的注解格式
- c语言 *p++与(*p)++、*(p++)三者异同?
- PKIX path validation failed: mestamp check failed 错误
- NVMe
- 解决:使用primefaces中datatable的scrollHeight时,列宽度设置失效问题
- iOS代码规范
- Jboss设置Java系统变量常用方法
- 解决:ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException
- 设置Dialog全屏显示
- HTML5:标记文字
- Jboss中使用Log4J输出Hibernate所生成的SQL中的参数值
- django 的orm的一些操作
- 解决:Internet Explorer无法打开该Internet站点.请求的站点不可用,或找不到.请以后再试.
- js+css绘制颜色动态变化的圈中圈效果
- 如何配置EJB3消息处理并发数[Message Driven Bean]
- SVN服务器搭建和使用(一)
- linux环境coding,并远程同步到windows