题解 | #放苹果#

放苹果

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

盘子从左到右依次递归

fun函数:a当前盘子最多放几个,b还有几个盘子可以放,m可放的盘子总共要放几个,tol计数

t:m/n向上取整,表示这个盘子最少放几个

min函数保证从左到右苹果数不增,确保方式不重复

m,n = list(map(int, input().split()))

def fun(a,b,m,tol):
    if m == 0 or b == 1:
        tol += 1
        return tol
    t = m//b
    if m != t*b:
        t += 1
    while a >= t:
        tol = fun(min(a,m-a),b-1,m-a,tol)
        a -= 1
    return tol

tol = 0
print(fun(m,n,m,tol))

全部评论

相关推荐

2025-11-28 13:56
已编辑
门头沟学院
所有好工作吻上来:最近可能压力比较大吧,面试的时候已经不屑于去说一些违心的话了,今天这场面试我真是没控制住啊,感觉我已经要发火了
实习学到最有价值的工作习...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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