买大米(最优解)
来源:互联网 发布:温州国际淘宝城 编辑:程序博客网 时间:2024/04/29 06:11
悼念512汶川大地震遇难同胞
Time Limit: 1000MS Memory limit: 65536K
题目描述
对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食。现在假设下拨了一定数量的救灾经费要去市场采购大米(散装)。如果市场有m种大米,各种大米的单价和重量已知,请问,为了满足更多灾民的需求,最多能采购多少重量的大米呢?
输入
输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(0
输出
对于每组测试数据,请输出能够购买大米的最多重量(你可以假设经费买不光所有的大米)。
每个实例的输出占一行,保留2位小数。
示例输入
17 23 34 4
示例输出
2.33
#include<stdio.h> struct stud { int p; int h; }body[26],z; int main() { float sum; int C; scanf("%d",&C); while(C>0) { int m,n,i,j; scanf("%d %d",&m,&n); for(i=0;i<n;i++) { scanf("%d %d",&body[i].p,&body[i].h); } for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(body[i].p>body[j].p) { z=body[i]; body[i]=body[j]; body[j]=z; } sum=0; for(i=0;i<n;i++) { if(m>0) { if(m>=body[i].p*body[i].h) { sum=sum+body[i].h; m=m-body[i].p*body[i].h; } else { sum=sum+(m*1.0)/body[i].p; break; } } else break; } printf("%.2lf\n",sum); C--; } }
- 买大米(最优解)
- 买大米
- 买啤酒最优解问题
- 【多重背包】hdu 2191 买大米
- 【virtual judge】-已知拥有钱数求可以买的大米数量
- 过桥问题(最优解)
- 大米座谈会
- 采购大米
- 大米互助
- 大米番茄
- TYVJ题解(P1001),绝对最优解!
- hdu1728逃离迷宫(BFS最优解)
- Maze迷宫问题(最优解)
- HDU 2612 (BFS+取最优解)
- 顺序队列求解迷宫(最优解)
- 1:Two Sum(非最优解)
- 单纯形法求最优解
- Hamming weight最优解
- 找零钱
- 算法学习一
- 面试基础 -- 单例模式
- Wine trading in Gergovia
- WIN32开发:如何获取父进程的ID
- 买大米(最优解)
- Scott Mitchell 的ASP.NET 2.0数据教程之四十一::实现开放式并发
- PLSQL连Oracle11G数据库Could not load "……\bin\oci.dll"
- 字符串操作函数
- 进程通信——管道
- Windows下搭建svn服务器端
- HDU 3400 Line belt
- Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
- Linux下svn搭建配置流程