题解 | #称砝码#

称砝码

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

kind = int(input())
ms = list(map(int, input().split()))
xs = list(map(int, input().split()))

dp = [{0} for _ in range(kind + 1)]  # dp[i]表示第i种及其之前的重量和
for i in range(1, kind + 1):
    for j in range(xs[i - 1] + 1):
        for val in dp[i - 1]:
            val = val + j * ms[i - 1]
            dp[i].add(val)
print(len(dp[kind]))

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
程序员牛肉:这一眼假啊,基本上都是骗人的,不然就涉及到职位贪腐了,就像之前华为的OD事件,看你运气好不好了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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