PAT 1070 Mooncake[一般]
1070 Mooncake (25)(25 分)
Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of fillings and crusts can be found in traditional mooncakes according to the region's culture. Now given the inventory amounts and the prices of all kinds of the mooncakes, together with the maximum total demand of the market, you are supposed to tell the maximum profit that can be made.
Note: partial inventory storage can be taken. The sample shows the following situation: given three kinds of mooncakes with inventory amounts being 180, 150, and 100 thousand tons, and the prices being 7.5, 7.2, and 4.5 billion yuans. If the market demand can be at most 200 thousand tons, the best we can do is to sell 150 thousand tons of the second kind of mooncake, and 50 thousand tons of the third kind. Hence the total profit is 7.2 + 4.5/2 = 9.45 (billion yuans).
Input Specification:
Each input file contains one test case. For each case, the first line contains 2 positive integers N (<=1000), the number of different kinds of mooncakes, and D (<=500 thousand tons), the maximum total demand of the market. Then the second line gives the positive inventory amounts (in thousand tons), and the third line gives the positive prices (in billion yuans) of N kinds of mooncakes. All the numbers in a line are separated by a space.
Output Specification:
For each test case, print the maximum profit (in billion yuans) in one line, accurate up to 2 decimal places.
Sample Input:
3 200
180 150 100
7.5 7.2 4.5Sample Output:
9.45题目大意:给出月饼的需求量,并且给出每种月饼的总量及其总价格,要求按需求给出最大利润。
代码来自:https://www.liuchuo.net/archives/1912
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct mooncake{
float mount, price, unit;
};
int cmp(mooncake a, mooncake b) {
return a.unit > b.unit;
}
int main() {
int n, need;
cin >> n >> need;
vector<mooncake> a(n);//定义大小为n的向量
for (int i = ; i < n; i++)
cin >> a[i].mount;
for (int i = ; i < n; i++)
cin >> a[i].price;
for (int i = ; i < n; i++)
a[i].unit = a[i].price / a[i].mount;//计算单位价格
sort(a.begin(), a.end(), cmp);//按照单价进行排序。
float result = 0.0;
for (int i = ; i < n; i++) {
if (a[i].mount <= need) {
result = result + a[i].price;
} else {
result = result + a[i].unit * need;
break;
}
need = need - a[i].mount;
}
printf("%.2f",result);
return ;
}
//不是贪心问题啊,就是一个普通的题目,对单位进行排序。 不要被贪心吓到了啊。
PAT 1070 Mooncake[一般]的更多相关文章
- PAT 1070. Mooncake (25)
		Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types ... 
- PAT 1070 Mooncake
		题目意思能搞成这样我也是服了这个女人了 #include <cstdio> #include <cstdlib> #include <vector> #includ ... 
- PAT 甲级 1070 Mooncake (25 分)(结构体排序,贪心,简单)
		1070 Mooncake (25 分) Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autum ... 
- 1070 Mooncake (25 分)
		1070 Mooncake (25 分) Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn ... 
- 【PAT甲级】1070 Mooncake (25 分)(贪心水中水)
		题意: 输入两个正整数N和M(存疑M是否为整数,N<=1000,M<=500)表示月饼的种数和市场对于月饼的最大需求,接着输入N个正整数表示某种月饼的库存,再输入N个正数表示某种月饼库存全 ... 
- PAT Advanced 1070 Mooncake (25) [贪⼼算法]
		题目 Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many typ ... 
- PAT (Advanced Level) 1070. Mooncake (25)
		简单贪心.先买性价比高的. #include<cstdio> #include<cstring> #include<cmath> #include<vecto ... 
- PAT甲题题解-1070. Mooncake (25)-排序,大水题
		#include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ... 
- 1070. Mooncake (25)
		题目如下: Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many ... 
随机推荐
- web应用安全防范(1)—为什么要重视web应用安全漏洞
			现在几乎所有的平台都是依赖于互联网构建核心业务的. 自从XP年代开始windows自带防火墙后,传统的缓冲器溢出等攻击失去了原有威力,黑客们也把更多的目光放在了WEB方面,直到进入WEB2.0后,WE ... 
- Delphi应用程序的调试(六)步进式代码调试
			步进式代码调试(Stepping Through Your Code) 步进式代码调试是最基本的调试操作之一,但仍要在此讲述.人们常常容易犯只见树木不见森林的错误.经常复习基本的知识有助于读者了解以前 ... 
- android checkbox样式
			1. 首先要导入你准备用作CheckBox选中和补选中状态的两图片到res的drawable中,如checkbox_checked.png,checkbox_normal.png: 2. 在res/d ... 
- 题目1010:A + B(字符串转数字)
			题目链接:http://ac.jobdu.com/problem.php?pid=1010 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ... 
- [转]OpenStack Neutron解析
			1.为什么还需要linux bridge的部署方式? 2.哪一个网桥起着交换机的作用? 3.neutron如何实现私有网络的隔离 =================================== ... 
- rabbitmq日志记录进出的每条消息
			参考: https://blog.csdn.net/u013256816/article/details/76039201 https://blog.csdn.net/aosica321/articl ... 
- CMOS构成的常见电路
			CMOS门电路 以MOS(Metal-Oxide Semiconductor)管作为开关元件的门电路称为MOS门电路.由于MOS型集成门电路具有制造工艺简单.集成度高.功耗小以及抗干扰能力强等优点,因 ... 
- mysql概要(十四)(二)索引(补充:外键级联操作)
			[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | S ... 
- Spring Cloud Eureka 服务治理机制
			服务提供者 服务提供者在启动的时候会通过发送REST请求的方式将自己注册到Eureka Server上,同时带上了自身服务的一些元数据信息.Eureka Server 接收到这个RE ... 
- iOS - Reveal逆向分析任意iOS应用的UI界面
			在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App.Reveal是一个很强大的UI分析工具,可非常直 ... 
