题解 | #称砝码# set.add()
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
n=int(input())
m=list(map(int,input().split()))
x=list(map(int,input().split()))
m1=[]
for i in range(n):
for j in range(x[i]):
m1.append(m[i])
#print(m1)
weight=0
weight_rec={0} # 集合,自动去重,记录重量,包括0
for i in m1:
for j in list(weight_rec):
weight_rec.add(i+j)
print(len(weight_rec))
每增加一个重量的砝码,前期的重量组合都要更新(新砝码与每个组合重量相加),用集合去重。
