自己先写了个dp 拿了90
代码如下
w=int(input())
n=int(3)
cin2=[1,5,11]
dp=[90000]*(w+1)
dp[0]=0
for i in range(w+1):
for j in cin2:
if j<=i:
dp[i]=min(dp[i],dp[i-j]+1)
print(dp[w])
然后怀疑是luogu评测的问题封装成了函数
然后全re
代码如下
def min_coins(w, coins):
if w == 0:
return 0
if w < 0:
return float('inf')
result = float('inf')
for coin in coins:
sub_result = min_coins(w - coin, coins)
if sub_result != float('inf'):
result = min(result, sub_result + 1)
return result
w = int(input())
n = 3
cin2 = [1, 5, 11]
result = min_coins(w, cin2)
print(result)