算法初步—贪心—A1070
2018-02-05 18:12
204 查看
思路:
1、根据每个不同的月饼价格计算出每个月饼的单价,根据单价进行排序,不断选择最贵的月饼出售即可
注意点:
月饼的数量是浮点类型,否则会报错
1、根据每个不同的月饼价格计算出每个月饼的单价,根据单价进行排序,不断选择最贵的月饼出售即可
注意点:
月饼的数量是浮点类型,否则会报错
#include<iostream> #include<cmath> #include<cstdio> #include<algorithm> using namespace std; struct MoonCake { float num; //月饼数量 float price,per; //总价格,单价 }moon[1005]; bool cmp(MoonCake a,MoonCake b) { return a.per > b.per; } int main() { int N; float D,profit = 0; scanf("%d%f",&N,&D); for(int i=0;i<N;i++) scanf("%f",&moon[i].num); for(int i=0;i<N;i++) { scanf("%f",&moon[i].price); moon[i].per = moon[i].price / moon[i].num; //计算每种月饼的单价 } sort(moon,moon+N,cmp); for(int i=0;i<N;i++) //计算利润 { if(D == 0) break; if(D > moon[i].num) { profit += moon[i].price; D -= moon[i].num; } else { profit += moon[i].per * D; D = 0; } } printf("%.2f",profit); return 0; }
相关文章推荐
- 【Visual C++】游戏开发笔记十七 游戏基础算法(一) 游戏随机系统初步
- 百度电影推荐系统比赛 小结 ——记我的初步推荐算法实践
- 算法初步——散列
- 【从零学习经典算法系列】分治与递归1——递归表达式与解法初步
- 切词算法初步实践(java)
- 【算法学习笔记】04.C++中结构体定义练习(bign初步)
- 特征提取初步学习之LBP算法
- 算法设计 -- 初步感想
- Linux C 算法分析初步
- 算法初步—贪心—A1033
- 【几何-图形学算法学习笔记三】缓冲区分析初步实现
- C++学习 【3.1】 程序设计初步---算法、结构、赋值语句
- 【算法笔记】 第四章 算法初步
- 11.19 AS设置,maven初步,常用算法和设计模式初聊
- 算法初步——two pointers
- 【算法】算法初步:聊一聊常见排序的算法
- 生成n个互异随机数的初步算法
- STL的binary search算法正确性的初步说明
- 【算法学习笔记】08.数据结构基础 二叉树初步练习1
- 算法分析与设计课程资料:蚂蚁算法的初步研究与计算机模拟