c/c++贪心算法求月饼利润
2021/7/7 14:34:44
本文主要是介绍c/c++贪心算法求月饼利润,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
输入:
第1行:输入几种月饼n,需求量D 第2行:输入n种月饼各自的存量 第3行:输入n种月饼的总售价 例如: 3 20 18 15 10 75 72 45
输出:
最大收益 例如:94.50
代码:
#include<cstdio> #include<algorithm> using namespace std; struct mooncake { double store; double sell; double price; }cake[1010]; bool cmp(mooncake a, mooncake b) { return a.price > b.price; } int main() { int n=0; scanf_s("%d", &n); double D=0.0; scanf_s("%lf", &D); for (int i = 0; i < n; i++) { scanf_s("%lf", &cake[i].store); } for (int i = 0; i < n; i++) { scanf_s("%lf", &cake[i].sell); cake[i].price = cake[i].sell / cake[i].store; } sort(cake, cake + n, cmp); // 价格从高到低 double ans = 0; //收益 for (int i = 0; i < n; i++) { if (cake[i].store <= D) { D -= cake[i].store; // 第i种月饼全部卖出 ans += cake[i].sell; } else { ans += cake[i].price * D; break; } } printf("%.2f\n", ans); return 0; }
这篇关于c/c++贪心算法求月饼利润的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版