PAT 1010 月饼
来源:互联网 发布:心理学入门 知乎 编辑:程序博客网 时间:2024/05/01 07:57
题目描述
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需
求量,请你计算可以获得的最大收益是多少。
注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、
72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得
72 + 45/2 = 94.5(亿元)。
输入描述:
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数
D表示市场最大需求量。随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿
元为单位)。数字间以空格分隔。
输出描述:
对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。
输入例子:
3 20
18 15 10
75 72 45
输出例子:
94.50
#include <iostream>#include <math.h>#include <stdlib.h>#include <string.h>#include <iomanip>#include <stdio.h>using namespace std;int main(){ int nTotalSorts = 0; int nNeedWeight = 0; double nMessage[1000][4] = {0}; double temp[1][4] = {0}; int index = 0; int nLast = 0; double dSumMoney = 0; cin >> nTotalSorts >> nNeedWeight; /* 输入每一种的库存量 */ for(index = 0; index < nTotalSorts; index++) { cin >> nMessage[index][0]; } /* 输入每一种的总金额 */ for(index = 0; index < nTotalSorts; index++) { cin >> nMessage[index][1]; nMessage[index][2] = nMessage[index][1]*1.0 / nMessage[index][0]; } /* 用选择排序,根据平均金额进行排序,把最大的放到前面 */ int i = 0, j = 0; for(i = 0; i < nTotalSorts-1; i++) { for(j = i + 1; j < nTotalSorts; j++ ) { if(nMessage[i][2] < nMessage[j][2]) { temp[0][0] = nMessage[i][0]; temp[0][1] = nMessage[i][1]; temp[0][2] = nMessage[i][2]; nMessage[i][0] = nMessage[j][0]; nMessage[i][1] = nMessage[j][1]; nMessage[i][2] = nMessage[j][2]; nMessage[j][0] = temp[0][0]; nMessage[j][1] = temp[0][1]; nMessage[j][2] = temp[0][2]; } } } nLast = nNeedWeight; index = 0; while(nLast >= 0 && index < nTotalSorts) { if(nMessage[index][0] > nLast) { dSumMoney = dSumMoney + nLast * nMessage[index][2]; } else { dSumMoney = dSumMoney + nMessage[index][1]; } nLast = nLast - nMessage[index][0]; index++; } printf("%.2f\n",dSumMoney); return 0;}
0 0
- PAT 1010 月饼
- PAT乙级1010-月饼
- PAT 月饼
- PAT 月饼
- PAT(乙级)1010 月饼 (25)
- ZJU PAT 1020 月饼
- PAT 1020. 月饼 (25)
- PAT 1020. 月饼<未完>
- PAT 1020. 月饼
- pat之月饼问题
- PAT(B) 1020. 月饼
- PAT乙级 月饼 (25)
- PAT-1020 月饼
- PAT 乙级 1020.月饼
- PAT-B 1020. 月饼
- PAT 1020. 月饼 (25)
- PAT-B 1020.月饼
- PAT乙级 1020. 月饼
- 递归
- 剑指offer 不用加减乘除做加法
- 欢迎使用CSDN-markdown编辑器
- android进阶之spinner
- 多线程在python中的使用 thread
- PAT 1010 月饼
- 《花千骨》为何被批“脑残”还能创造收视神话?
- 我不知道该怎么去做
- redis cluster 集群重启关闭
- Android:对话框(12种:警告对话框&进度条对话框&日期对话框&时间对话框)
- jor(1):简表(JOR)开源的报表工具调研
- 模拟 nbut1225 NEW RDSP MODE I
- 新手必须知道的13个Xcode小技巧
- 2015多校联合第十场 hdu5414CRB and String字符串思维题