Problem Description

E_star和von是中国赫赫有名的两位商人,俗话说的好无商不奸,最近E_star需要进一批苹果。可是他需要的苹果只有von才有,von的苹果都存在他的传说中很牛叉的仓库里,每个仓库都存了不同种类的苹果,而且每个仓库里的苹果的价钱不同。如果E_star想要买仓库i里的所有重量为f[i]的苹果他必须付m[i]的金钱。E_star开着他的传说中的毛驴车去拉苹果,而且他只带了N些金钱。E_star作为传说中的奸商希望用它所带的N金钱得到重量最多的苹果。你作为他最好的朋友,所以他向你求出帮助。希望你能帮忙计算出他能买到最多的苹果(这里指重量最大)。并输出最大重量。
提示:这里仅考虑仓库里苹果的重量,不考虑个数。
Input

第一行包括两个非负整数N,M(分别代表E_star带的金币数,von盛苹果的仓库数量,不超过50)。
接下来有有M行,每行包括两个数非负整数f[i]和m[i]分别表示第i仓库里存有重量为f[i]的苹果,如果将所有苹果买下要花费m[i]的金钱,E_star不必非要将每个仓库的苹果全部买下。
当M,N二者中任一为-1时结束。
Output

E_star用N的金币所能买到的最大重量的苹果的重量。结果保留三位小数。
Sample Input

5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
Sample Output

13.333
31.500
Hint
细节错误:1.t=a/b;t为实数型,a,b为整数,转化为实数:t=a1.0/b正确;t=a/b1.0错误
2快排函数出现问题

ac代码

    #include <stdio.h>#include <stdlib.h>struct node{int wi;int pi;double av;//把单价放在结构体里面} a[51];void kp(struct node a[],int l,int r)//快排排序{struct node key=a[l];int  i=l,j=r;if(i>=j) return;//不要遗忘等号while(i<j)为i.j而不是l,r{while(i<j&&a[j].av<=key.av) j--;//不要遗忘等号a[i]=a[j];while(i<j&&a[i].av>=key.av) i++;//不要遗忘等号a[j]=a[i];}a[i]=key;kp(a,l,i-1);kp(a,i+1,r);}int main(){int n,m,i;double sum;while(scanf("%d %d",&n,&m)){if(n==-1||m==-1) break;for(i=1; i<=m; i++){scanf("%d %d",&a[i].wi,&a[i].pi);a[i].av=a[i].wi*1.0/a[i].pi;//不要写反}kp(a,1,m);sum=0;for(i=1; i<=m; i++){if(n>=a[i].pi) {sum=sum+a[i].wi;n=n-a[i].pi;}else {sum=sum+n*a[i].wi*1.0/a[i].pi;break;}}printf("%.3lf\n",sum);}return 0;}

商人的诀窍-(贪心出问题最多的-快排函数错)相关推荐

  1. 商人的诀窍 结构体

    商人的诀窍 Description E_star和von是中国赫赫有名的两位商人,俗话说的好无商不奸,最近E_star需要进一批苹果.可是他需要的苹果只有von才有,von的苹果都存在他的传说中很牛叉 ...

  2. 深大转专业计算机,这所高校2020年1042人申请转专业!申请转出人数最多的竟是医学部...

    这所高校2020年1042人申请转专业!申请转出人数最多的竟是医学部 大学被录取到不喜欢的专业咋办?很显然,不少学生把希望寄托在转专业上.一般而言,被录取到冷门专业的学生,更希望通过转到热门专业,为将 ...

  3. 一篇英文文档中找出频数最多的10个单词

    """一篇英文文档中找出频数最多的10个单词collections: Counter 提供计数器工具以支持方便和快速的计数 most_common(n) 返回n个最常见元 ...

  4. 出书最多--map值排序

    假定蒜厂新进了m(10≤m≤999) 本图书,它们都是由n(1≤n≤26) 个作者独立或相互合作编著的.假设 mm 本图书编号为整数(11 到 999999),作者的姓名为字母('A'到'Z'),请根 ...

  5. 出书最多 [2021年12月 电子学会C语言编程等级考试二级真题解析]

    5. 出书最多 假定图书馆新进了m(10 ≤ m ≤ 999)本图书,它们都是由n(1 ≤ n ≤ 26)个作者独立或相互合作编著的.假设m本图书编号为整数(1到999),作者的姓名为字母('A'到' ...

  6. 数据结构与算法(二):排序(递归、回溯、数论、插入、希尔、归并、选择、冒泡、快排、贪心、动态规划)

    算法排序:递归.回溯.数论.插入.希尔.归并.选择.冒泡.快排.贪心.动态规划 数论思想:利用数学公式或者定理或者规律求解问题: 算法思想中最难的点:递归+动态规划:树论:二叉树,红黑树 思考题: 微 ...

  7. 64匹马,8赛道,找出跑得最快的4匹马,至少比赛9场

    遇到这种问题, 首先先不要尝试思考具体的方式, 先用算法找上下限, 接下来不断通过验证和分析去缩短已经确定的上下限(因为你的上下限计算方式可能不对). 这里先给一个简单的题: 4个矿泉水瓶可以换一瓶矿 ...

  8. 找出无序数组最小的K个数(基于快排,效率高)

    快排: void QuickSort(int array[], int low, int high) { if (low >= high) //为了防止无限递归下去,导致栈溢出,设置此条件 { ...

  9. C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。

    例题:N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点.请编写函数fun,它的功能是:找出学生的最高分,由函数返回. 请勿改动主函数main与其它函数中的任何内容,仅在函数f ...

最新文章

  1. 计算机windows无响应,Windows电脑便笺没反应不能用了怎么办?
  2. 深入浅出 SpringMVC - 1
  3. 【python】直方图均衡化和自适应均衡化图像
  4. 阿里云云盾·Web应用防火墙 获“2018网络安全创新产品(技术)评选”一等奖
  5. 只能上qq不能开网页_真实记录女友和我开工作室之旅4:7.1~7.5日志记录和总结...
  6. 利用EasyRecovery恢复照片文件的技巧
  7. mysql使用总结(C#)
  8. workbench动力学周炬_ANSYS Workbench有限元分析实例详解 动力学 周炬 苏金英 ANSYS Workbench动力学数值模拟模态分析教程 有限元理论和工程实践书...
  9. 《Linux设备驱动开发详解 A》一一3.1 Linux内核的发展与演变
  10. 手机怎么把照片转JPG格式?这两种方法可以迅速转换
  11. Hacker基础之Linux篇——基础Linux命令二
  12. SQL实战(9)--从titles表获取按照title进行分组
  13. PID串口助手的第一部分:串口通信
  14. 算法应该怎么“玩”?
  15. 脱贫攻坚“甜蜜行”基层医生培训班第二期在怀化举办,3市共50名村医参加
  16. python374安装教程_Centos7.6安装工具(5)--编译安装python374
  17. 编程英语单词2 Java编程常用单词-带音标
  18. 【论文写作课程的启发和心得】
  19. 超大图片的显示:BitmapRegionDecoder 1
  20. 实用软件推荐(一)——自动更换壁纸 (Dynamic theme)

热门文章

  1. 介绍 spring Alibaba Sentinel: 分布式系统的流量防卫兵
  2. 逻辑思维训练——排除法
  3. 祝福计算机学院十周年快乐用英语怎么说,计算机学院自动化专业十周年 庆典及颁奖典礼隆重举行...
  4. 微信公众号获取AccessToken
  5. 拉涨停板洗盘的分时图
  6. 【学习记录】基于python爬取Flickr图片及元数据
  7. pkl转换json(pkl格式如何打开,pkl2json)
  8. HashMap夺命连环问,你扛得住吗
  9. Django如何实现点赞、收藏以及浏览量增减
  10. 计算机网络框架大纲(脑图可自提)----1.概述