1,5点错
#include<iostream>
#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
#define int long long
bool a[1001][1001];
int dp[1001][1001];
int d[4][2]={{0,1},{1,0}};
int dh[8][2]={{1,2},{2,1},{-1,2},{-2,1},{-1,-2},{-2,-1},{1,-2},{2,-1}};
int n,m,cnt;
bool in(int x,int y){
if(x>=0&&y>=0&&x<=n&&y<=m){
return true;
}
return false;
}
void horse(int x,int y){
a[x][y]=true;
for(int i=0;i<8;i++){
int dx=x+dh[i][0],
dy=y+dh[i][1];
if(in(dx,dy)){
a[dx][dy]=true;
}
}
return ;
}
signed main(){
int x,y;
cin>>n>>m>>x>>y;
horse(x,y);
dp[0][0]=1;
if(a[n][m]==true||a[0][0]){
cout<<0;
return 0;
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(a[i][j]==false){
if(in(i-1,j)){
dp[i][j]+=dp[i-1][j];
}
if(in(j-1,i)){
dp[i][j]+=dp[i][j-1];
}
}
}
}
cout<<dp[n][m];
}