描述: 请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。
注:沿棋盘格之间的边缘线行走
数据范围: 1 \le n,m \le 8 \1≤n,m≤8
输入描述:输入两个正整数n和m,用空格隔开。(1≤n,m≤8)
输出描述:输出一行结果
输入:2 2
输出:6
# n=1,m=1,一个格子,2种走法,f11 = f10 +f01 = 1+1 = 2
# n=2,m=1,三个格子,3种走法,f11-2 + f20-1 = 3;
# n=1,m=2,三个格子,3种走法,f11-2 + f02-1 = 3
# n=2,m=2,4个格子,6种走法,n2m1 + n1m2 = 3+3=6
# n=3,m=1,5个格子,4种走法,f30+f21=1+3=4
# 公式为:fnm = fnm-1 + fn-1m
def exam(n,m):
n = n
m = m
if n < 0 or m < 0:
return 0
elif n == 0 or m == 0:
return 1
else:
return exam(n-1,m) + exam(n,m-1)
lis = list(map(int,input().strip().split(' ')))
# print(lis)
# [2, 2]
res = exam(n=lis[0],m=lis[1])
print(res)