萌新求助
#include<bits/stdc++.h>
using namespace std;
int o[21][21]={};
void maps(int a,int b){
o[a][b]=1;
if(a-1>=0&&b-2>=0)o[a-1][b-2]=1;
if(a-2>=0&&b-1>=0)o[a-2][b-1]=1;
if(a-1>=0&&b+2>=0)o[a-1][b+2]=1;
if(a-2>=0&&b+1>=0)o[a-2][b+1]=1;
if(a+1>=0&&b-2>=0)o[a+1][b-2]=1;
if(a+2>=0&&b-1>=0)o[a+2][b-1]=1;
if(a+1>=0&&b+2>=0)o[a+1][b+2]=1;
if(a+2>=0&&b+1>=0)o[a+2][b+1]=1;
}
int f(int n,int m){
if(n==0&&m==0)return 1;
if(o[n-1][m]==0&&o[n][m-1]==0&&n-1>=0&&m-1>=0)return f(n-1,m)+f(n,m-1);
if(o[n-1][m]==0&&n-1>=0)return f(n-1,m);
if(o[n][m-1]==0&&m-1>=0)return f(n,m-1);
return 0;
}
int main(){
int n,m,a,b;
cin>>n>>m>>a>>b;
maps(a,b);
cout<<f(n,m);
return 0;
}