题解 | #称砝码#

称砝码

https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c


n = int(input())
m, x = [0]*n, [0]*n
# # 防止后续去重算出总重量
# m_max = 0


m = list(map(int, input().split()))
x = list(map(int, input().split()))
# for i in range(n):
#     m_max += m[i]*x[i]


ct = 0

# 标志0-max 是否有取值
# m_flag = [0 for i in range(0, m_max+1)]
# m_flag[0] = 1
sum_m ={0,}
for i in range(n):
        # 已有质量加上新的质量 ,从后向前遍历
            for mm in list(sum_m):
                for j in range(1, x[i]+1):
                    sum_m.add(mm+m[i]*j)

                




ct = len(sum_m)

print(ct)

全部评论

相关推荐

牛客26692713...:为啥实习经历写这么少,项目经历反而大写特写,最重要的还是实习经历吧,写具体点,什么场景下做了什么事,解决了什么问题,优化了什么场景,性能提升了多少多少
投了多少份简历才上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务