题解 | #放苹果#

放苹果

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

m,n = list(map(int,input().split()))
nums = list(range(m+1))
res = 0
def backtrack(start, path, target):
    global res
    if len(path)==n and target==0:
        #res.append(path[:])
        res +=1
        return 
    elif len(path)==n:
        return 
    for i in range(start,m+1):
        num = nums[i]
        if num > target:
            break
        path.append(num)
        backtrack(i,path,target-num)
        path.pop()
backtrack(0, [], m)
print(res)
用的回溯
全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务