fatmouse‘ trade
来源:互联网 发布:wacom绘画软件 编辑:程序博客网 时间:2024/06/09 16:38
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.
The warehouse has N rooms. The i-th room contains Ji i pounds of JavaBeans and requires Fi i pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get Ji i* a% pounds of JavaBeans if he pays Fi 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.
The warehouse has N rooms. The i-th room contains J
5 37 24 35 220 325 1824 1515 10-1 -1
13.33331.500
#include<cstdio>#include<algorithm>using namespace std;struct node{int f;int j;double s;}cat[10005];bool cmp(node a,node b){return a.s > b.s;}int main(){int m,n;while (scanf("%d%d",&m,&n),m != -1||n != -1){for (int i = 0; i < n; ++i){scanf("%d%d",&cat[i].j,&cat[i].f); cat[i].s = cat[i].j*1.0/cat[i].f;}sort(cat,cat+n,cmp);double sum = 0; for (int i = 0; i < n; ++i){if (m >= cat[i].f){sum += cat[i].j;m -= cat[i].f;}else {sum += m*cat[i].j*1.0/cat[i].f;break;}}printf("%.3lf\n",sum);}return 0;}
while(m){if (m >= cat[i].f){sum += cat[i].j;m -= cat[i].f;++i;}else {sum += m*cat[i].j*1.0/cat[i].f;m = 0;}这么写是不行的 = = wa了好久。。。注意 m剩余就死循环了 = =
哎。。
0 0
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- HDU 2577
- 表单
- 我博客的第一天
- leetcode算法题(JavaScript实现)
- [Educational Codeforces Round 17 C (762C)] Two strings
- fatmouse‘ trade
- hdu1878判断欧拉图
- 网页的制作---笔记
- JSP学习一
- php 下划线和驼峰相互转换
- 关于ActiveMQ的简单整理(1)
- hibernate N+1问题
- 在RecyclerView里使用图片轮播
- codevs天梯 十进制转N进制 暴力模拟