ZOJ 2109 FatMouse' Trade
来源:互联网 发布:java重载函数 编辑:程序博客网 时间:2024/05/21 07:33
简单的贪心,按照J[i]和F[i]的比列从大到小排序,然后计算和,注意M和F[i]为0的情况
#include <iostream>#include <cstdio>#include <memory.h>#include <algorithm>#define INF 1000000000using namespace std;const int maxn=1010;struct node{int f,j;double ratio;node(int jj=0,int ff=0):f(ff),j(jj){if(ff==0)ratio=INF;else ratio=(double)jj/ff;}bool operator<(const node &rhs)const{return ratio>rhs.ratio;}}rooms[maxn];int M,N;int main(){while (scanf("%d%d",&M,&N)==2){if(M==-1&&N==-1)break;double ans=0;for (int i=0;i<N;++i){int f,j;scanf("%d%d",&j,&f);rooms[i]=node(j,f);}sort(rooms,rooms+N);for (int i=0;i<N;++i){if(rooms[i].f==0){ans+=rooms[i].j;}else{int cnt=0;if(M<rooms[i].f)cnt=M,M=0;else cnt=rooms[i].f,M-=rooms[i].f;ans+=((double)cnt/rooms[i].f)*rooms[i].j;}}printf("%.3lf\n",ans);}return 0;}
- ZOJ-2109FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- zoj 2109 FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- zoj 2109 FatMouse' Trade【水】
- zoj 2109 FatMouse' Trade 贪心
- Solution of ZOJ 2109 FatMouse' Trade
- zoj 2109 || hdoj1009 FatMouse' Trade(贪心)
- ZOJ Problem Set - 2109 FatMouse' Trade
- ZOJ Problem Set - 2109 FatMouse' Trade
- ZOJ 2109 FatMouse's Trade(贪心)
- zoj 2109.FatMouse' Trade
- ZOJ FatMouse' Trade 贪心
- zoj 2109 FatMouse' Trade (纯水背包问题~贪心❤)
- ZOJ 2109 FatMouse' Trade (背包 dp + 贪心)
- zju 2109 FatMouse' Trade
- zoj 2109 FatMouse' Trade简单的贪心 (注意double数组的排序问题)
- 信号量函数 semget() semop() semctl()
- 校友网--子系统与类的分析与设计
- PreparedStatement与Statement的区别和联系
- 校友网--数据库设计
- word 2010页眉页码从第三页开始设置
- ZOJ 2109 FatMouse' Trade
- 循环语句
- JSP文件编译成 .java后保存在Tomcat位置
- Fixing an "SQL0964C Transaction log for database is full" error
- ASCII+Unicode+UTF8(字符编码方式->字节) Base64(字节编码方式->64字符)
- activemq 连接方式
- python if语句
- iOS企业开发者计划介绍及使用方法
- boost 1.53 比1.52 ASIO bug 修正