#include <bits/stdc++.h>
using namespace std;
bool flag[25][25];
long long dp[25][25];
int main()
{
long long n,m,x,y;
cin>>n>>m>>x>>y;
flag[x][y]=true;
if(x+2<=n&&y+2<=m) flag[x+2][y+1]=true;
if(x-2>=n&&y+2<=m) flag[x-2][y+1]=true;
if(x+2<=n&&y-2<=0) flag[x+2][y-1]=true;
if(x-2>=n&&y-2<=0) flag[x-2][y-1]=true;
if(x+1<=n&&y+1<=m) flag[x+1][y+2]=true;
if(x-1>=n&&y+1<=m) flag[x-1][y+2]=true;
if(x+1<=n&&y-1<=0) flag[x+1][y-2]=true;
if(x-1>=n&&y-1<=0) flag[x-1][y-2]=true;
for(long long i=0;i<=n;i++)
for(long long j=0;j<=m;j++)
{
if(flag[i][j]) continue;
if(!i&&!j) dp[i][j]=1;
else if(!i)dp[i][j]=dp[i][j-1];
else if(!j)dp[i][j]=dp[i-1][j];
else dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
cout<<dp[n][m];
return 0;
}
感谢大老点评,会guanzhu