RT, 求指点
#include<bits/stdc++.h>
#define int long long
using namespace std;
int dp[105][105];
signed main(){
int hx,hy,bx,by;
cin>>bx>>by>>hx>>hy;
int dx[9] = {-2,-2,-1,-1,1,1,2,2,0};
int dy[9] = {-1,1,-2,2,-2,2,-1,1,0};
for(int i=0;i<=bx;i++)
dp[i][0] = 1;
for(int i=0;i<=by;i++)
dp[0][i] = 1;
for(int i=0;i<9;i++)
if(hx+dx[i]<=bx && hy+dy[i]<=by && hx+dx[i]>=0 && hy+dy[i]>=0)
dp[hx+dx[i]][hy+dy[i]] = -1;
for(int i=1;i<=bx;i++){
for(int j=1;j<=by;j++){
if(dp[i][j]==-1) continue;
dp[i][j] = max((int)0,dp[i-1][j])+max((int)0,dp[i][j-1]);
}
}
cout<<dp[bx][by];
return 0;
}