题解 | #放苹果#

放苹果

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

动态规划解法,复杂度O(mn)

while True:
    try:
        apple, plate= list(map(int, input().split()))
        ans_array = [[1 for i in range(11)] for j in range(10)]
        for i in range(2, len(ans_array[1])):
            ans_array[1][i] = i // 2 + 1
        for i in range(2, len(ans_array)):  # i+1为盘子数
            for j in range(2, 11):  # j为苹果数
                if i+1 > j:
                    ans_array[i][j] = ans_array[i-1][j]
                elif i+1 == j or i+2 == j:
                    ans_array[i][j] = ans_array[i-1][j] + 1
                else:
                    ans_array[i][j] = ans_array[i-1][j] + ans_array[i][j-i-1]
        print(ans_array[plate-1][apple])
    except EOFError:
        break
全部评论

相关推荐

天降大厂offer:想从事前端就放前端的技术栈,然后项目描述,还有项目做了什么内容,使用了什么技术解决了什么问题优化了什么性能。然后头像可以不要,在读也可以不要,还有bg的话就不要放课程,写哪个学校什么本科,还有绩点排名(如果高的话),然后就是技术栈写好一点,接下来就是项目(有实习就写实习,没有就到项目),项目放两个好一点的,自己包装一下,然后有参加什么竞赛放两个就好了,接下来就是靠你自己了,毕竟211还是很难容易找的,不像我们学院本
点赞 评论 收藏
分享
11-17 23:00
南昌大学 Java
这个名称和你无缘:10元一天 0元提成😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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