Python——动态规划——矿工挖矿问题
矿工挖矿问题
问题引入
【问题描述】
假设某地区有5座钻石矿,每座钻石矿的钻石储量不同,根据挖矿难度,需要参与挖掘的工人数量也不同。假设能够参与挖矿工人的总数是10人,且每座钻石矿要么全挖,要么不挖,不能只派出一部分人挖取一部分矿产。要求用程序求解出,要想得到尽可能多的钻石,应该选择挖取哪几座矿产?
矿产编号 钻石储量 所需工人数量
1 400 5
2 500 5
3 200 3
4 300 4
5 350 3
【输入形式】
无
【输出形式】
一行,表示获得的最大矿产数
【样例输入】
无
【样例输出】
900
程序设计
def goldMine(n,m,G,L): #定义一个动态规划函数,n表示矿产数量,m表示矿工数,G表示矿产列表,L表示矿工列表
t_results=[0 for i in range(m+1)] #首先初始化一个结果列表,用来保存只选择第一个矿产时的情况
for i in range(1,m+1): #循环遍历矿工人数,从1个人一直增加到10个人