刚开始我还分了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))