求助!万分感谢!
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long cb[40][40],kp[40][40];
int main(){
long long bx,by,hx,hy;
cin>>bx>>by>>hx>>hy;
int ci[8][3]={{-2,-1},{-1,-2},{1,-2},{2,-1},{-2,1},{-1,2},{1,2},{2,1}};
for(long long i=0;i<8;i++){
if(hx+ci[i][0]<=40 && hy+ci[i][1]<=40)
kp[hx+ci[i][0]][hy+ci[i][1]]=1;
}
kp[hx][hy]=1;
if(kp[0][0]==1)
cb[0][0]=1;
else
cb[0][0]=0;
for(long long i=1;i<=bx;i++){
cb[i][0]=1;
}
for(long long i=1;i<=by;i++){
cb[0][i]=1;
}
for(long long i=1;i<=bx;i++){
for(long long j=1;j<=by;j++){
if(kp[i][j]==0)
cb[i][j]=cb[i][j-1]+cb[i-1][j];
}
}
cout<<cb[bx][by];
return 0;
}