救命!!!!!本地运行3221225477!!!
#include <iostream>
using namespace std;
int bx,by,cx,cy;
int dp[41][41];
int dx[]={-2,-1,1,2,2,1,-1,-2},dy[]={1,2,2,1,-1,-2,-2,-1};
int main(){
cin>>bx>>by>>cx>>cy;
dp[1][1]=1;
for(int i=2;i<=bx;i++){
for(int j=2;j<=by;i++){
if((i==cx+dx[0]&&j==cy+dy[0])||(i==cx+dx[1]&&j==cy+dy[1])||
(i==cx+dx[2]&&j==cy+dy[2])||(i==cx+dx[3]&&j==cy+dy[3])||
(i==cx+dx[4]&&j==cy+dy[4])||(i==cx+dx[5]&&j==cy+dy[5])||
(i==cx+dx[6]&&j==cy+dy[6])||(i==cx+dx[7]&&j==cy+dy[7]))
continue;
dp[i][j]=max(dp[i-1][j],dp[i][j-1])+1;
}
}
cout<<dp[bx][by];
return 0;
}