题解 | #放苹果#
放苹果
http://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf
刚开始我还分了x>y、x<y、x=y三种情况,算重了好些个。最后发现其实已经分好类了,这种题思路还是要根据对立,找出最少的分类情况。
def zhong(x,y):
if y==1 or x==1: # 一盘or一果
return 1
elif x<0 or y<0: # 防止-1变复数
return 0
else:
return zhong(x,y-1)+zhong(x-y,y) # 有空盘(至少有一个空盘)VS没空盘(每个盘至少有一个)
a,b=map(int,input().split())
print(zhong(a,b))