Description:
Accept:
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL m, n, dp[30][30];
LL dfs(LL x, LL y){
if(x==m&&y==n){
dp[x][y]=1;
return 1;
}
if(dp[x][y]!=-1){
return dp[x][y];
}
LL ans1=0, ans2=0;
if(y+1<=n){
ans1=dfs(x, y+1);
}
if(x+1<=m){
ans2=dfs(x+1, y);
}
dp[x][y]=ans1+ans2;
return ans1+ans2;
}
int main()
{
cin>>m>>n;
memset(dp, -1, sizeof(dp));
LL a=dfs(1, 1);
cout<<a<<endl;
return 0;
}