luogu P1208 混合牛奶 贪心
Posted iat14
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\n",ans); 34 return 0; 35
以上是关于luogu P1208 混合牛奶 贪心的主要内容,如果未能解决你的问题,请参考以下文章
洛谷——P1208 [USACO1.3]混合牛奶 Mixing Milk
洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
洛谷——P1208 [USACO1.3]混合牛奶 Mixing Milk