zoukankan      html  css  js  c++  java
  • 商人的诀窍

     

     商人的诀窍

    Time Limit: 1000 ms Memory Limit: 65536 KiB

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

    Sample Input

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

    Sample Output

    13.333
    31.500

    Hint

     

    Source

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 struct node{
     4     int price;//价格
     5     int weight;//重量
     6     double comp;
     7 }goods[1001];
     8 bool cmp(node x,node y){
     9     return x.comp<y.comp;// 这道题 主要是 对 价格/重量 进行 从低到高排序,这样 才能买的更多
    10 }
    11 int main()
    12 {
    13     int n,m;
    14     while(cin>>n>>m&&!(n==-1&&m==-1)){
    15         for(int i=0;i<m;i++){
    16             cin>>goods[i].weight>>goods[i].price;
    17             goods[i].comp=1.0*goods[i].price/goods[i].weight;
    18         }
    19         sort(goods,goods+m,cmp);//按  价格由小到大
    20         double sum=0.0;
    21         int rest=n;
    22         for(int i=0;i<m;i++){
    23             if(rest-goods[i].price<0){//买不了 全部的
    24                 sum+=rest/goods[i].comp;// 根据 剩余的钱/(价格/重量) 等于重量
    25                 break;
    26             }
    27             rest-=goods[i].price;
    28             sum+=goods[i].weight;
    29         }
    30         cout<<setiosflags(ios::fixed)<<setprecision(3)<<sum<<endl;
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    Redis持久化机制
    Java动态代理
    FFmpeg视频处理
    Redis集群
    解决vscode无法提示golang的问题
    解决vscode无法安装golang相关插件的问题
    近期小结
    近期小结
    稍稍解读下ThreadPoolExecutor
    响应式编程笔记三:一个简单的HTTP服务器
  • 原文地址:https://www.cnblogs.com/NirobertEinteson/p/11924800.html
Copyright © 2011-2022 走看看