华为OD统一考试-高效货运
题目描述
- 老李是货运公司承运人,老李的货车额定载货重量为wt;
- 现有两种货物,货物A单件重量为wa,单件运费利润为pa,货物B单件重量为wb,单件运费利润为pb;
- 老李每次发车时载货总重量刚好为货车额定载货重量wt,车上必须同时有货物A和货物B,货物A、B不可切割;
- 老李单车次满载运输可获得的最高利润是多少。
输入描述
第一列输入为货物A的单件重量wa,0 < wa < 10000
第二列输入为货物B的单件重量wb,0 < wb < 10000
第三列输入为货车的额定载重wt,0 < wt < 100000
第四列输入为货物A的单件运费利润pa,0 < pa < 1000
第五列输入为货物B的单件运费利润pb,0 < pb < 1000
输出描述
单次满载运输的最高利润
示例1
输入: 10 8 36 15 7 输出: 44
示例2
输入: 1 1 2 1 1 输出: 2
题解
题目要求:
- 车次满载;
- 同时有货物A和货物B 且 货物A、B不可切割;
解题思路:
- 计算货物 A 最多可以装的个数,即
n = (wt + wa - 1) / wa
。- 使用循环枚举货物 A 的个数
ca
,范围为 [1, n)。这样保证有剩余空间用于装货物 B。- 判断车整好满载的条件为
(wt - w
,如果满足,则计算货物 B 的个数 。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2024华为OD机试卷题 文章被收录于专栏
本专栏给大家提供了华为2024最新华为OD 题目汇总。华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。