题解 | #牛牛的背包问题#
牛牛的背包问题
https://www.nowcoder.com/practice/bf877f837467488692be703735db84e6
def solve(volumes,n,w):
if w==0:
return 1
if w<0:
return 0
if sum(volumes)<=w:
return 2**n
return solve(volumes[1:],n-1,w)+solve(volumes[1:],n-1,w-volumes[0])
import sys
if __name__=="__main__":
line1Slice=input().split(" ")
n,w=int(line1Slice[0]),int(line1Slice[1])
line2Slice=input().split(" ")
volumes=[int(i) for i in line2Slice]
print(solve(volumes,n,w))
查看3道真题和解析