题解 | #称砝码# 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))
每增加一个重量的砝码,前期的重量组合都要更新(新砝码与每个组合重量相加),用集合去重。