#include<iostream>
using namespace std;
long long map[101][101];
long long ex,ey,hx,hy;
bool pd(long long i,long long j){
long long di[9]={-2,-2,-1,-1,1,1,2,2};
long long dj[9]={1,-1,-2,2,2,-2,1,-1};
for(long long k=0;k<9;k++){
if(i+di[k]==hx&&j+dj[k]==hy){
return false;
}
}
return true;
}
int main(){
cin>>ex>>ey>>hx>>hy;
if(pd(1,1)==false){
cout<<0;
return 0;
}
map[0][0]=1;
for(int i=0;i<=ex;i++){
for(long long j=0;j<=ey;j++){
if(pd(i,j)==false) continue;
if(i==0||j==0){
map[i][j]=1;
continue;
}
map[i][j]+=map[i-1][j];
map[i][j]+=map[i][j-1];
}
}
cout<<map[ex][ey];
return 0;
}
代码60分,样例能过,求帮助