【virtual judge】-已知拥有钱数求可以买的大米数量
来源:互联网 发布:黑莓软件怎么删除 编辑:程序博客网 时间:2024/04/30 16:15
对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食。现在假设下拨了一定数量的救灾经费要去市场采购大米(散装)。如果市场有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<algorithm>using namespace std;struct mi{double dj;double sl;}date[2000];bool cmp(mi a,mi b){return a.dj<b.dj; }int main(){int t;scanf("%d",&t);while(t--){double n,m;double a[2000];double y1=0;double y2=0;scanf("%lf%lf",&n,&m);for(int i=0;i<m;i++){scanf("%lf%lf",&date[i].dj,&date[i].sl);}sort(date,date+(int)m,cmp);for(int i=0;i<m;i++){n=n-date[i].dj*date[i].sl;if(n<0){n=n+date[i].dj*date[i].sl;break;}y2=y2+date[i].sl;y1=y1+1;}y1=n/date[(int)y1].dj;printf("%.2lf\n",y1+y2);}return 0;}
下面是错误的代码,但是不知道错哪,留着以后瞅瞅吧,不过还在、是上面叫做贪心的更简单
#include<stdio.h>#include<algorithm>using namespace std;struct mi{double dj;double sl;}date[2000];bool cmp(mi a,mi b){return a.dj<b.dj; }int main(){int t;scanf("%d",&t);while(t--){double n,m;double a[2000];double y1=0;double y2=0;double y4=0;scanf("%lf%lf",&n,&m);double y3=n;for(int i=0;i<m;i++){scanf("%lf%lf",&date[i].dj,&date[i].sl);}sort(date,date+(int)m,cmp);for(int i=0;i<m;i++){y1=y1+date[i].sl*date[i].dj;y2+=1;if(y1>=n)break;}for(int i=0;i<(y2-1);i++){y3=n-date[i].sl*date[i].dj;}y3=y3/date[(int)y2-1].dj;for(int i;i<(y2-1);i++){y4=y4+date[i].sl;}printf("%.2lf\n",(y3+y4));}return 0;}
0 0
- 【virtual judge】-已知拥有钱数求可以买的大米数量
- 已知一个足球120元,买n个,求足球钱数
- poj 1787 求达到总钱数的选硬币的最大数量(硬币有个数限制)
- 买大米
- 关于virtual judge的问题
- 求组合钱数
- 买大米(最优解)
- ZOJ1032-Area 2(已知点坐标求多边形面积,求线段上的整点数量,pick定理)
- Ubuntu 14.04 下 Virtual Judge 的搭建
- java给任意数额的钱数,求出最少数量的纸币组成方法
- 求吱吱的数量
- 永远让基类拥有virtual的destructor
- jquery控制"+","-"改变物品数量和钱数
- 【多重背包】hdu 2191 买大米
- 不同的钱数
- 钱数
- 关于HUSTOJ的搭建与virtual judge的设置
- 已知一个3 * 3矩阵,求对角线元素的和,并且中间的只可以加一次
- Improve OCR Accuracy on Color Documents
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- kNN最近邻分类器
- StringUtils中 isNotEmpty 和isNotBlank的区别
- scikit-learn学习笔记:Simple 1D Kernel Density Estimation
- 【virtual judge】-已知拥有钱数求可以买的大米数量
- 错误记录 --关于错误perhaps the designated entry point is not set的解决方法
- vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail
- RecyclerView 的使用
- [Ruby] ruby创建类方法 ,以及class_eval 、instance_eval的使用
- Stanford机器学习笔记-1.线性回归
- 浮点数与字节数据的转换
- work queues
- 表单验证中的各类正则表达式