华为OD机试 Python 组装最大可靠性设备

题目

你正在组装一台设备,这台设备由不同种类的零件组成,每种类型的零件都需要一个。每个零件都有自己的“可靠度”和价格。昂贵的零件通常具有更高的可靠度。

但是,组装完成的设备的可靠度是由所有零件中可靠度最低的那个决定的。也就是说,如果你有5个零件,它们的可靠度分别是80、90、70、85和60,那么整个设备的可靠度就是60。

现在,请你帮助我们找出:给定一定的预算,如何购买零件,使得组装完成的设备的可靠度最大化?

输入:

总预算和零件的种类数量
接下来的每一行包含:零件种类、可靠度和价格
输出:

组装完成的设备的最大可靠度。如果预算不足以购买所有类型的零件,输出-1。
示例:
预算是500,需要三种零件。可选的零件如下:
0号类型:可靠度80、价格100
0号类型:可靠度90、价格200
1号类型:可靠度50、价格50
…以此类推

输出是60,因为我们可以选择上面列出的前三种零件,总价格是250,可靠度是50、80和90中的最小值,即50。

输入
500 3
6
0 80 100
0 90 200
1 50 50
1 70 210
2 50 100
2 60 150
输出 60
说明
预算500,设备需要3种元件组成,方案

类型0的第一个(可靠性80),

类型1的第二个(可靠性70),

类型2的第二个(可靠性60),

可以使设备的可靠性最大 6

你可能感兴趣的:(python,华为od,开发语言,华为机试)