最新华为上机考试
真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
2025华为od机试2025C卷-华为OD上机考试2025年C卷
题目描述
老李是货运公司承运人,老李的货车额定载货重量为 wt。
现有两种货物:
- 货物 A 单件重量为 wa,单件运费利润为 pa
- 货物 B 单件重量为 wb,单件运费利润为 pb
老李每次发车时载货总重量刚好为货车额定的载货重量 wt,车上必须同时有货物 A 和货物 B ,货物A、B不可切割。
老李单次满载运输可获得的最高利润是多少?
输入描述
-
第一列输入为货物 A AA 的单件重量 wa ,0 < wa < 10000
-
第二列输入为货物 B BB 的单件重量wb,0 < wb < 10000
-
第三列输入为货车的额定载重wt,0 < wt < 100000
-
第四列输入为货物 A AA 的单件运费利润pa,0 < pa < 1000
-
第五列输入为货物 B BB 的单件运费利润pb,0 < pb < 1000
输出描述
单次满载运输的最高利润
用例1
输入
10 8 36 15 7
输出
44
用例2
输入
1 1 2 1 1
输出
2
解题思路
暴击模拟:遍历所有可能的货物A的装载数量,对于每种情况计算剩余重量能否完全由货物B填满,如果可以则计算当前组合的利润,并与已知的最大利润进行比较,更新最大利润。
重量计算:对于货物A和B,计算总重量的公式是:
总重量 = ( 货物A的数量 × 货物A的单件重量 ) + ( 货物B的数量 × 货物B的单件重量 ) \text{总重量} = (\text{货物A的数量} \times \text{货物A的单件重量}) + (\text{货物B的数量} \times \text{货物B的单件重量})

这篇博客主要介绍了华为OD机试中的一道题目,涉及到如何在货车额定载货重量限制下,同时装载货物A和B以获得最高利润。解题思路包括暴力模拟计算所有可能的货物A数量,结合货物B计算总利润,并给出C++、Java、JavaScript、Python和C语言的解题代码示例。
订阅专栏 解锁全文
555

被折叠的 条评论
为什么被折叠?



