zoukankan      html  css  js  c++  java
  • luogu P1208 混合牛奶 贪心

     1 //于其说是一道贪心题,不如说是一道考察结构体运用的题目。对于重载运算符一定要熟练运用。 我们优先购买便宜的牛奶即可,注意使用min函数节约代码量。 
     2 #include<cmath>
     3 #include<cstdio>
     4 #include<algorithm>
     5 using namespace std;
     6 int n,m,ans;
     7 struct node
     8 {
     9     int a,b;//牛奶单价和产量
    10     friend bool operator < (node x,node y)
    11     {
    12         return x.a < y.a;
    13     }
    14 }a[5005];
    15 
    16 int main()
    17 {
    18     scanf("%d%d",&n,&m);
    19     for(int i = 1;i <= m;i++)
    20         scanf("%d%d",&a[i].a,&a[i].b);
    21     sort(a + 1,a + 1 + m);
    22     int i = 1;
    23     while(n)//从n开始减起,直达n为零停止
    24         if(a[i].b != 0)//当这头牛还没购买完
    25         {
    26             int t = min(a[i].b,n);//提前存起来,避免后面干扰 
    27             ans += a[i].a * t;
    28             n -= t;
    29             a[i].b -= t;
    30         }
    31         else 
    32             i++;//购买完了换头牛
    33     printf("%d
    ",ans);
    34     return 0;
    35 }
    心之所动 且就随缘去吧
  • 相关阅读:
    nginx实现文件分享
    DataTable.Compute强大的功能
    flink学习01
    flink学习02
    ASIS TOBE
    Oracle安装
    运营与运维
    用户与租户的区别
    书的复制记录方案DP
    模拟题5
  • 原文地址:https://www.cnblogs.com/iat14/p/11143373.html
Copyright © 2011-2022 走看看