#include <bits/stdc++.h> using namespace std; // 注意 这和在********上出现的 走格子不同 // 但可以对应过去当 m=n=1时 实际可走的结点是 2x2的 即m+1, n+1 // 还用递归的方式 转移方程还和走格子一样 // 但边界条件不同! // dp[x,1] = dp[1,x] = 1 int myfunc(int p, int q) { if(p==1 || q==1) { return 1; } return myfunc(p-1, q) + myfunc(p, q-1); } int main() { int m, n; while (cin >> m >> n) { // 注意 while 处理多个 case cout << myfunc(m+1, n+1) << endl; } } // 64 位输出请用 printf("%lld")