奇安信2020测试工程师(二)笔试题买口罩

小明有N元钱去药店买口罩,药店里有6个品牌的口罩,A品牌2个装(2元),B品牌3个装(2元)、C品牌1个装(3元)、D品牌5个装(1元),E品牌4个装(5元),F品牌3个装(2元),由于限购每个品牌最多只能买一个,小明最多能买多少口罩?

输入描述:
N元钱(1<N<15)
输出描述:
N元钱能买到的口罩数目

输入例子1:
9
输出例子1:
13

此题属于背包问题。
n=int(inuput())
wt=[2,3,1,5,4,3]
val=[2,2,3,1,5,2]
dp=[[0 for i in range(7)]for j in range(n+1)]
for i in range(1,7):
for j in range(1,n+1):
if (j-val[i-1])<0:
dp[i][j]=dp[i-1][j]
else:
dp[i][j]=max(dp[i-1][j-val[i-1]]+wt[i-1],dp[i-1][j])
print(dp[6][n])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值