眼睛看花了没改出来
#include<bits/stdc++.h>
using namespace std;
long long ex,ey,hx,hy,vis[30][30],dp[30][30];
long long dxy[8][2]={{2,-1},{1,-2},{-1,-2},{-2,-1},{-2,1},{-1,2},{1,2},{2,1}};
int main(){
cin>>ex>>ey>>hx>>hy;
vis[hx+1][hy+1]=1;
for(int i=0;i<8;++i) vis[hx+1+dxy[i][0]][hy+1+dxy[i][1]]=1;
dp[1][2]=1;dp[2][1]=1;
for(int i=1;i<=ex+1;++i){
for(int j=1;j<=ey+1;++j){
if(!vis[i][j]) dp[i][j]=max(dp[i][j],dp[i-1][j]+dp[i][j-1]);
}
}
cout<<dp[ex+1][ey+1];
return 0;
}