求大佬记忆化一下
#include<bits/stdc++.h>
using namespace std;
int n,m,p,q;
long long sum=1;
int h[25][25];
int zu(int x,int y){
if(h[x][y]){
return h[x][y];
}
if(x==n&&y==m){
sum++;
return 1;
}
if(x==p-1&&y==q-2){
return 1;
}
if(x==p-2&&y==q-1){
return 1;
}
if(x==p+1&&y==q-2){
return 1;
}
if(x==p+2&&y==q-1){
return 1;
}
if(x==p-2&&y==q+1){
return 1;
}
if(x==p-1&&y==q+2){
return 1;
}
if(x==p+1&&y==q+2){
return 1;
}
if(x==p+2&&y==q+1){
return 1;
}
if(x==p&&y==q){
return 1;
}
if(x==n){
return zu(x,y+1);
}
if(y==m){
return zu(x+1,y);
}
h[x][y]=sum;
return zu(x+1,y)+zu(x,y+1);
}
int main(){
cin>>n>>m>>p>>q;
zu(0,0);
cout<<sum-1;
return 0;
}