题解 | #放苹果#
放苹果
https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf?tpId=37&tqId=21284&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fdifficulty%3D2%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D37%26type%3D37&difficulty=2&judgeStatus=undefined&tags=&title=
m, n = map(int, input().split(" "))
# 一次放一个
def dfs(m, idx, plate):
if m == 0:
return 1
ans = 0
for i, num in enumerate(plate):
# 上次放置的idx或者往后放置,同时不要重复放置数值类型
if i >= idx and plate.index(num) == i:
plate[i] += 1
ans += dfs(m-1, i, plate)
plate[i] -= 1
return ans
plate = [0] * n
print(dfs(m, -1, plate))


阿里云成长空间 747人发布