#include <iostream>
using namespace std;


int dfs(int n,int m){
    if(n==1){
        return m+1;
    }
    else if(m==1){
        return n+1;
    }
    else{
        return dfs(n,m-1)+dfs(n-1,m);
    }
}
int main() {
    int a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        cout<<dfs(a,b);
    }
}
// 64 位输出请用 printf("%lld")

总步数为m+n,可以向右走m步,向下走n步,抽象为每一个小方格,然后递归计算即可。

活动地址https://www.nowcoder.com/discuss/726480854079250432