直接给80分的代码
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
long long q[21][21];
const int mx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2};
const int my[] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
bool f[40][40];
int main()
{
long long a,b,n,m;
cin>>a>>b>>n>>m;
a+=2;b+=2,n+=2;m+=2;
f[n][m]=1;
for(int i=1;i<=8;i++) f[n+mx[i]][m+my[i]]=1;
// for(int i=1;i<=a;i++){
// for(int j=1;j<=b;j++){
// if(f[i][j]==1) cout<<"-1 ";
// else cout<<" 0 ";
// }
// cout<<endl;
// }
q[2][1]=1;
for(int i=2;i<=a;i++){
for(int j=2;j<=b;j++){
if(f[i][j]) continue;
q[i][j]=q[i-1][j]+q[i][j-1];
}
}
// for(int i=2;i<=a;i++){
// for(int j=2;j<=b;j++){
// cout<<q[i][j]<<" ";
// }
// cout<<endl;
// }
cout<<q[a][b];
}