2024华为OD机试真题目录-(B卷C卷D卷)-【C++ Java Python】
题目描述
老李是货运公司承运人,老李的货车额定载货重量为 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
说明
无
输入
1 1 2 1 1
输出
2
说明
无
考点
暴力枚举
解题思路
本题要求必须包括A货物和B货物,并且要正好装满货车,因此可以进行枚举,在满足正好装满货车的条件时,求能获得的利润,取所有满足条件的利润中的最大值。
货物A数量的取值范围是1~(wt-wb)/wa,如果货车剩余容量%wb==0,则满足装满货车的条件。
代码
c++
#include <bits/stdc++.h>
using namespace std;