商人的诀窍

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的金币所能买到的最大重量的苹果的重量。结果保留三位小数。

Example Input

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

Example Output

13.333
31.500
 
 
#include <stdio.h>
#include <stdlib.h>
struct node
{
int f;
int mh;
double ave;
}p[51],t;
int main()
{
int n,i,j,m;
double k;
while(~scanf("%d %d",&n,&m)&&n!=-1&&m!=-1)
{
for(i=0;i<m;i++)
scanf("%d %d",&p[i].f,&p[i].mh);
for(i=0;i<m;i++)
{
p[i].ave=(1.0*p[i].mh)/p[i].f;
}
for(i=0;i<m;i++)
for(j=0;j<m-i-1;j++)
{
if(p[j].ave>p[j+1].ave)
{
t=p[j];p[j]=p[j+1];
p[j+1]=t;
}
}
i=0;
k=0;
while(n)
{   if(i<=m)
{
if(n>=p[i].mh)
{
k+=p[i].f;
n-=p[i].mh;
i++;
}
else
{
k+=n/p[i].ave;
break;
}
}
else
break;
}
printf("%.3lf\n",k);
}
return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

训练总结(大一下)

ACM训练总结写这次的训练总结也就意味着这个学期快要结束了&#xff0c;“光阴似箭&#xff0c;日月如梭”&#xff0c;总觉得时间过得很快反而学的很少&#xff0c;但是这个学期待在ACM还是有收获的&#xff0c;从开学接触链表时候的一脸茫然 &#xff0c;到现在已经学完了线段…

来淄博旅游

Problem Description 淄博某旅行社每天都要接待来自全国各地的游客&#xff0c;他们从各个城市来到张店区&#xff0c;游玩后又去淄博的其他旅游景点。从各个城市来张店的游客只是在网上报名&#xff0c;然后旅行社根据统计的人数&#xff0c;用大巴把他们从不同城市拉到张店。…

UTF-8中的BOM-带还是不带?

转自&#xff1a;http://blog.csdn.net/fanpei_moukoy/article/details/21464305 UTF-8 不需要 BOM&#xff0c;尽管 Unicode 标准允许在 UTF-8 中使用 BOM。所以不含 BOM 的 UTF-8 才是标准形式&#xff0c;在 UTF-8 文件中放置 BOM 主要是微软的习惯&#xff08;顺便提一下&a…

ACM训练总结(大二)

时光飞速&#xff0c;不知不觉&#xff0c;现在是第三次写总结报告了&#xff0c;第一次的解题报告是在大一上学期的期末&#xff0c;那时候是满怀信心、充满斗志&#xff0c;觉得以后肯定在ACM这条路上有所作为&#xff0c;记得那次写解题报告的主要内容是一个自我提醒、自我激…

递归的函数

Problem Description 给定一个函数 f(a, b, c)&#xff1a;如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1&#xff1b;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20)&#xff1b;如果 a < b 并且 b < c 返回 f(a, b, c−1) f(a, b−1, c−1) − f(a,…

Qt5中文乱码解决方案

升级到Qt5.X之后&#xff0c;原先解决的Qt显示中文乱码的方法突然不适用了&#xff0c;找了很多方式来解决这个问题 第一种&#xff1a; 在公司代码里看到的方法&#xff0c;先将对应的cpp文件用windows自带的记事本打开&#xff0c;另存为UTF-8格式&#xff0c;然后在代码中&a…

Linux常用压缩和解压命令

.tar 解包 tar xvf filename.tar .tar 打包 tar cvf filename.tar dirname .gz 解压1 gunzip filename.gz .gz 解压2 gzip -d filename.gz .gz 压缩 gzip filename .tar.gz 和 .tgz 解压 tar zxvf filename.tar.gz .tar.gz 和 .tgz 压缩 tar zcvf filename.tar.gz dirnam…

Qt字符编码认识

长期以来&#xff0c;很多人都清楚&#xff0c;一旦C源码中直接使用了中文&#xff0c;这样的源码想要跨平台(I18N)会非常困难。 随着&#xff1a; Windows下&#xff1a;MSVC2010成为主流Linux下&#xff1a;GCC升级到4.6 C中的中文问题 才算有了一个比较优雅的、跨平台的Wor…

汉诺塔系列1

Problem Description n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了&#xff0c;这种错误是放错了柱子&#xff0c;并不会把大盘放到小盘上&#xff0c;即各柱子从下往上的大小仍保持如下关系 &#xff1a; nmpq a…

Linux上传文件和下载文件命令行方式

在Linux主机上&#xff0c;安装上传下载工具包rz及sz 只需要安装下面这个包即可&#xff0c;执行下面的安装命令 yum install -y lrzsz 上传 在Linux命令行下输入rz&#xff0c; rz 1 输入rz命令后&#xff0c;会弹出对话框&#xff0c;选择你要上传的文件&#xff0c;选…

带你玩转Visual Studio——带你理解多字节编码与Unicode码

转自&#xff1a;http://blog.csdn.net/luoweifu/article/details/49382969 上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C运行时库及它的来龙去脉&#xff0c;这是C开发中特别容易误入歧途的一个地方&#xff0c;我…

汉诺塔系列2

Problem Description 用1,2,...,n表示n个盘子&#xff0c;称为1号盘&#xff0c;2号盘,...。号数大盘子就大。经典的汉诺塔问 题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于 印度传说的一个故事&#xff0c;上帝创造世界时作了三根金刚石…

如何快速高效读懂1本书

——半研墨拆书2《如何阅读1本书》 作为运营来讲&#xff0c;除了在实操中学习&#xff0c;还要扩充视角&#xff0c;开阔思维&#xff0c;建立更多解决问题的思考框架&#xff0c;这就要求我们&#xff0c;要多读书&#xff0c;还要会读书。就是说&#xff0c;我们在快速阅读的…

计算组合数

Problem Description 计算组合数。C(n,m),表示从n个数中选择m个的组合数。 计算公式如下&#xff1a; 若&#xff1a;m0&#xff0c;C(n,m)1 否则&#xff0c; 若 n1&#xff0c;C(n,m)1 否则&#xff0c;若mn&#xff0c;C(n,m)1 否则 …

查看mysql表的数据和结构

一、查看数据表列表的语法结构 SHOW TABLES [FROM db_name] [LIKE ‘pattern’ | WHERE expr] FROM db_name表示&#xff0c;我们不仅可以查看当前数据库里的数据表&#xff0c;还可以查看别的数据库里的数据表 mysql> show tables; —————- | Tables_in_test | ——…

c#学习书籍

楼主这些年一直追随微软技术&#xff0c;也看了不少书籍&#xff0c;整理出一些个人认为不错的经典&#xff0c;推荐给各位阅读&#xff0c;以共同进步。 推荐顺序是由浅入深&#xff0c;深入浅出。 《Professional C#》&#xff0c;中文名《C#高级编程》&#xff0c;最新版本&…

查并集

The White Belt Good developers who are familiar with the entire stack know how to make life easier for those around them. 博客园首页新随笔联系订阅管理 随笔 - 159 文章 - 0 评论 - 0用于不相交集合的数据结构——查并集 不相交集合数据结构的概念和操作&#xff1…

对象和json相互转换

对象转换成JSON时候&#xff1a; net包下的JSON JSONObject.toBean(类名,类的全名); org包下: JSONObject json new JSONObject(类名);//这样在转成json时候里面多出了一个class:类名。 推荐使用:json.put("id", Integer.parseInt(rs.getString(1)));json.put(&quo…

给程序员的10条建议

1. 想清楚&#xff0c;再动手写代码 刚入行的新手&#xff0c;为了展示自己的能力&#xff0c;拿到需求迫不及待地就开始上手写代码&#xff0c;大忌&#xff01; 2. 不交流&#xff0c;就会头破血流 不爱说话和沟通&#xff0c;需求都理解错误了&#xff0c;最后做出来才发现…

传说中的800句记7000词

登录 | 注册 ZHB_McCoy的专栏 目录视图摘要视图订阅 一键管理你的代码 攒课--我的学习我做主 【hot】直播技术精选 id"cpro_u2392861_iframe" src"http://pos.baidu.com/sczm?sz300x250&rdid2392861&dc2&diu2392861&dri0&dis0&…