今天的题目也不难,就基本的贪心硬贪就好了。希望有想要提高的同学跟我们一起来刷题0.0
4.3日每日一题——贪心
🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人
✨联系方式:2201891280(QQ)
⏳全文大约阅读时间: 20min
全文目录
☘前言☘
解题思路
📑写在最后
P1208 [USACO1.3]混合牛奶 Mixing Milk
解题思路
直接贪心,就是每次选取单价最小的元素加入最终结果,得到最终的结果。
#include <stdio.h> #include <stdlib.h> typedef struct{ int p; //单价 int q; //最多牛奶量 }Hash; Hash hash[5000]; int cmp(const void *a,const void *b){ return ((Hash*)a)->p < ((Hash *)b)->p ? -1 : 1;//升序排列 } int main(){ int m, n; while(scanf("%d %d",&n, &m) != EOF){ for(int i = 0;i < m;++i) scanf("%d %d",&hash[i].p,&hash[i].q); //读入数据 qsort(hash,m,sizeof(Hash),cmp); int ans = 0; for(int i = 0;n > 0;++i){ int tmp = n; if(n > hash[i].q) tmp = hash[i].q; ans += tmp * hash[i].p; n -= tmp; } printf("%d",ans); } return 0; }
过咯!!!!!!!!!!!!!!!!!!!!!!!4ms yyds
📑写在最后
今天就先这样,经过昨天的深思熟虑,我决定开底层的学习了,虽然CSDN上底层的文章明显不如算法的,但是我想去开拓这条路,这也是我自己的选择,不知道会不会有人支持我的呢0.0