FatMouse' Trade(杭电ACM---1009)
FatMouse' Trade
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 103515 Accepted Submission(s): 36159
The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get J[i]* a% pounds of JavaBeans if he pays F[i]* a% pounds of cat food. Here a is a real number. Now he is assigning this homework to you: tell him the maximum amount of JavaBeans he can obtain.
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
31.500
这一道题意思就是老鼠用猫食物换取自己最喜爱的食物javaBean的过程,当然换取的最终结果是保证最后的JavaBean是最多的,
而且是当自己手中的猫食物小于每个仓库所需交换的猫食物时候,可以手中有多少就交换多少。
所以在解这道题时候要想到按照每个仓库javaBean最大的比率排序才能保证最后的交换的javaBean是最大的。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 1e3+;
int m,n;
struct node{
int j,f;
double r;
} food[maxn];
class cmp{
public:
bool operator()(node a,node b)const{
return a.r>b.r;
}
};
int main(){
while(~scanf("%d%d",&m,&n)){
if(m==-) break;
for(int i=; i<n; i++ ){
cin>>food[i].j>>food[i].f;
food[i].r=1.0*food[i].j/food[i].f;
}
sort(food,food+n,cmp());
double ans=;
for( int i=; i<n; i++ ){
if(m>=food[i].f){
ans+=food[i].j;
m-=food[i].f;
}
else{
if(m==) break;
else{
ans+=m*food[i].r;
break;
}
}
}
printf("%.3f\n",ans);
}
return ;
}
FatMouse' Trade(杭电ACM---1009)的更多相关文章
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 杭电acm习题分类
专注于C语言编程 C Programming Practice Problems (Programming Challenges) 杭电ACM题目分类 基础题:1000.1001.1004.1005. ...
- 2017杭电ACM集训队单人排位赛 - 6
2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...
- 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”
按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- 杭电acm阶段之理工大版
想參加全国软件设计大赛C/C++语言组的同学,假设前一篇<C和指针课后练习题总结>没看完的,请先看完而且依照上面的训练做完,然后做以下的训练. 传送门:http://blog.csdn.n ...
- 杭电acm 1076题
水题,一个求闰年的题目,复习一下闰年的求法.... 1,如果能被4整除但不能被100整除的是闰年 2,能被400整除的是闰年 题目大意是:给定一个开始年份T以及一个正数N,要求求出从T开始,到了哪一年 ...
- 杭电acm 1037题
本题应该是迄今为止最为简单的一道题,只有一组输入,输出也简单.... /****************************************** 杭电acm 1037题 已AC ***** ...
- 杭电acm 1038题
本题比较简单,但是需要掌握几个小技巧,先上代码 /************************************* 杭电ACM 1038题,已AC ********************* ...
随机推荐
- Centos yum国内源及配置含义
Centos yum源的位置: /etc/yum.repos.d,可以通过配置文件/etc/yum.conf指定其他位置 主要的yum源种类:前两个是必须的,不然yum安装很多软件时会失败.yum本来 ...
- Centos7离线安装redis
1.1 下载.上传.解压redis4.0.11 下载地址:http://download.redis.io/releases/redis-4.0.11.tar.gz下载后上传到服务器上,并解压:备注: ...
- ionic ion-tab图标修改, 自定义tab图标
遇到需要自定义tab图标很简单, 只需要自定义相应的css就可以了, 这里要注意的是如何调整背景图片的大小. <ion-view hide-back-button="false&quo ...
- WebApp开发技术搭配
一:Ionic + angular + cordova + zipalign UI框架:lonic+angular 开发与编译打包框架:Cordova 优化工具:zipalign 二:MUI+HBui ...
- <转>SQL Server CROSS APPLY and OUTER APPLY
Problem SQL Server 2005 introduced the APPLY operator, which is like a join clause and it allows joi ...
- 网络协议学习(2)---IP地址
一.IPv4地址 IPv4地址为32bit地址,分为5类(ABCDE,这里不讨论特殊用途的D和E类). 通常我们八位一看,写成4个部分,例如:00000000 00000000 00000000 00 ...
- CentOS 6.5 x64相关安全,优化配置
一.安全 1.修改密码长度: [root@CentOS64 ~]# vi /etc/login.defs PASS_MAX_DAYS 99999 //用户的密密码最长使用天数 PASS_MIN_D ...
- [HDFS Manual] CH3 HDFS Commands Guide
HDFS Commands Guide HDFS Commands Guide 3.1概述 3.2 用户命令 3.2.1 classpath 3.2.2 dfs 3.2.3 envvars 3.2.4 ...
- hdoj:2061
#include <iostream> #include <string> using namespace std; int main() { int n,k; double ...
- Vue:在vue-cli中使用Bootstrap
一.安装jQuery Bootstrap需要依赖jQuery,所以引用Bootstrap之前要先引用jQuery,使用下面的命令引用jQuery: npm install jquery --save ...