题解 | #放苹果#

# 盘子数大于苹果树f(m,n) = f(m,m)
# 盘子数小于苹果树则:
# (1)至少一个盘子为空:f(m, n) = f(m, n-1)
# (2)没有盘子为空:f(m, n) = f(m-n,n)
# 递归出口:
# (1)没有苹果:m ==0 ,出
# (2)盘子数 n==1,出
def f(m, n):
    if m == 0 or n == 1:
        return 1
    elif m < n:
        return f(m, m)
    elif m >= n:
        return f(m,n-1) + f(m-n,n)

while True:
    try:
        m, n = map(int,input().strip().split())
        print(f(m, n))
    except EOFError:
        break
全部评论

相关推荐

头像 会员标识
昨天 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务