HDU_2187 悼念512汶川大地震遇难同胞——老人是真饿了
来源:互联网 发布:linux运行java文件 编辑:程序博客网 时间:2024/06/07 00:07
悼念512汶川大地震遇难同胞——老人是真饿了
对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食。现在假设下拨了一定数量的救灾经费要去市场采购大米(散装)。如果市场有m种大米,各种大米的单价和重量已知,请问,为了满足更多灾民的需求,最多能采购多少重量的大米呢?
Input
输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(0<n<=1000,0<m<=1000),分别表示经费的金额和大米的种类,然后是m行数据,每行包含2个整数p和h(1<=p<=25,1<=h<=100),分别表示单价和对应大米的重量。
Output
对于每组测试数据,请输出能够购买大米的最多重量(你可以假设经费买不光所有的大米)。
每个实例的输出占一行,保留2位小数。
每个实例的输出占一行,保留2位小数。
Sample Input
17 23 34 4
Sample Output
2.33
此题重点就是不要损失精度
#include<stdio.h>#include<stdlib.h>#include<algorithm>using namespace std;struct mi{ int dan; int liang;}s[1005];int cmp(mi a,mi b){ return a.dan<b.dan;}int main(){ int c,n,m,i,p,h; double x; scanf("%d",&c); while(c--) { scanf("%d%d",&n,&m); for(i=0;i<m;i++) { scanf("%d%d",&s[i].dan,&s[i].liang); } sort(s,s+m,cmp); int sum=0; x=0.0; for(i=0;i<m;i++) { if(sum+s[i].dan*s[i].liang>n) { x+=(double)(n-sum)/s[i].dan; break;} else { sum+=s[i].dan*s[i].liang; x+=(double)s[i].liang; //强制类型转换 是非常有必要的,否则会损失精度 } } printf("%.2lf\n",x); } return 0;}
0 0
- HDU_2187 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu2187——悼念512汶川大地震遇难同胞——老人是真饿了(贪心)
- HDU 悼念512汶川大地震遇难同胞——老人是真饿了
- HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了 贪心
- 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了 (贪心)
- 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu2187 悼念512汶川大地震遇难同胞——老人是真饿了 (贪心)
- HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- 杭电2187-悼念512汶川大地震遇难同胞——老人是真饿了
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- hdu-2187-悼念512汶川大地震遇难同胞——老人是真饿了
- HDU 1.3.4悼念512汶川大地震遇难同胞——老人是真饿了
- js收藏和设置首页
- android手机上安装apk时出现解析包错误的一个解决办法
- 字符串-06. IP地址转换(20)
- zoj 1543 贪心
- Red Hat 6.3 下安装 nginx-1.7.4
- HDU_2187 悼念512汶川大地震遇难同胞——老人是真饿了
- UValive 6439 - Pasti Pas!
- UML 用例图中<<include>>,<<extends>>,<<uses>>的区别
- iOS UITableView 快速滚动(索引方式实现)
- 黑马高新技术 交通管理系统篇
- rabbitMQ入门
- 给大家推荐PYTHON网站
- 红帽 Red Hat Linux相关产品iso镜像下载【迅雷快传】【更新7.0】
- 使用poi导出excel并调整样式