HDU1009
题意:有n个房子,每个房子里都有老鼠喜欢吃的咖啡豆J[i],但是每个房子都有猫看守,老鼠现在手上有M的猫粮。可以用猫粮换咖啡豆,每只猫都有猫粮的要求F[i]。老鼠得到的咖啡豆是J[i]*a% a%=给的猫粮/F[i] 求最多可以得到多少咖啡豆
思路:没看懂英文,所以搜了一下,看见他们说贪心... 其实也就是比例问题,每份F[i]可以换到越多的J[i]越好 , 依着这个思路排序 然后在循环求答案就好了...
代码如下:
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
double K[]; struct jfpoint
{
double J,F;
double K;
}; jfpoint JF[]; bool paixu(jfpoint a,jfpoint b)
{
return a.K>b.K;
} int main()
{
int M,N;
double ans=;
while(scanf("%d%d",&M,&N))
{
double ans=;
if(M<||N<)
break;
for(int i=; i<N; i++)
{
scanf("%lf%lf",&JF[i].J,&JF[i].F);
JF[i].K=JF[i].J/JF[i].F;
}
sort(JF,JF+N,paixu);
for(int i=; i<N; i++)
{ if(M>=JF[i].F)
{
ans+=JF[i].J;
M-=JF[i].F;
//printf("M=%d\t取全部的ans=%.3lf\n",M,ans);
continue;
}
if(M<JF[i].F)
{
ans+=M/JF[i].F*JF[i].J;
M=;
//printf("\nM=%d\t取全部的ans=%.3lf\n",M,ans);
break;
}
//printf("ans=%.3lf\n",ans);
}
printf("%.3lf\n",ans);
}
return ;
}
HDU1009的更多相关文章
- HDU-1009的解题报告
Hdu-1009 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009 题意:Fatmouse准备M磅的猫食,准备与猫守卫仓库有他最爱吃的食品贸易,J ...
- hdu1009 - 贪心
2017-07-14 18:18:31 writer:pprp 介绍:hdu1009 题目介绍,详见hdu1009 代码如下 #include <iostream> #include &l ...
- HDU1009老鼠的旅行 (贪心算法)
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- HDU1009 FatMouse' Trade
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU-1009(简单贪心)
FatMouse' Trade Problem Description FatMouse prepared M pounds of cat food, ready to trade with the ...
- hdu1009 FatMouse' Trade---贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009 题意:一共有n个房子,每个房子里有老鼠喜欢吃的javabeans,但是每个房间里的javabea ...
- HDU1009:FatMouse' Trade(初探贪心,wait)
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...
- OJ题目分类
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...
随机推荐
- 学习练习 Oracle数据库小题
Course(课程表) Score(成绩表) Teacher(教师表)
- No.012 Integer to Roman
12. Integer to Roman Total Accepted: 71315 Total Submissions: 176625 Difficulty: Medium Given an int ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- Leetcode005 Longest Palindromic Substring
o(n)算法地址:http://blog.163.com/zhaohai_1988/blog/static/2095100852012716105847112/ /* pivot varies whe ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(二)
硬广:<SVN与TortoiseSVN实战>系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解. 关于属性的奇技淫巧较多,分为两篇来写,第一篇详见< ...
- jquery selector 使用方法
<select class="selector"></select> 1 设置value为pxx的项选中 $(".selector"). ...
- Mysql group by 排序问题
类如 有一个 帖子的回复表,posts( id , tid , subject , message , dateline ) , id 为 自动增长字段, tid为该回复的主题帖子的id(外键关联), ...
- leetcode 1
题目: 最开始采用暴力解法,两个for循环遍历所有组合形式,时间复杂度为O(n2),代码省略. 进一步学习,采用hash表存储,空间换时间,时间复杂度为O(n),空间复杂度为O(n); 将数组放入ha ...
- Python之路【第五篇】:面向对象及相关
Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否 ...
- Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed.
地图定位 错误:使用CoreLocation获取地理位置信息,报错 Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be ...