题解 | #点菜问题#

点菜问题

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

while True:
    try:
        m, n = map(int, input().split(" "))
        w = [0 for i in range(n)]  # 钱大小
        v = [0 for i in range(n)]  # 分数
        dp = [0 for i in range(m + 1)]
        for i in range(n):
            w[i], v[i] = map(int, input().split(" "))
        for i in range(n):
            for j in range(m, w[i] - 1, -1):
                dp[j] = max(dp[j], dp[j - w[i]] + v[i])
        print(dp.pop())
    except:
        break

全部评论

相关推荐

今天 11:41
门头沟学院 Java
点赞 评论 收藏
分享
07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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