#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll xs,ys,zx,zy;
ll maps[50][50],vis[50][50];
const int bjx[]={0, -2, -1, 1, 2, 2, 1, -1, -2};
const int bjy[]={0, 1, 2, 2, 1, -1, -2, -2, -1};
int main(){
cin>>zx>>zy>>xs>>ys;
vis[xs][ys]=1;
maps[1][0]=1;
zx+=1;zy+=1;ys+=1;xs+=1;
for(int i=1;i<=8;i++)
vis[xs+bjx[i]][ys+bjy[i]]=1;
for(int i=1;i<=zx;i++){
for(int j=1;j<=zy;j++){
if(vis[i][j]==1){
continue;
}
maps[i][j]=maps[i-1][j]+maps[i][j-1];
}
}
cout<<maps[zx][zy];
return 0;
}
看了眼题解怎么和我这么像()
但是看了半天依旧没找到计算的错误(悲)