代码如下
#include<bits/stdc++.h>
using namespace std;
int n,m;
int x,y;
bool vis[21][21];
long long dp[21][21];
int xx[]={0,-2,-2,-1,-1,2,2,1,1};
int yy[]={0,-1,1,-2,2,1,-1,-2,2};
void solution(){
vis[x][y]=true;
for(int i=1;i<=8;i++) vis[x+xx[i]][y+yy[i]]=true;
for(int i=1;i<=m;i++) if(!vis[0][i]) dp[0][i]=1;
for(int i=1;i<=n;i++) if(!vis[i][0]) dp[i][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(vis[i][j]) continue;
else dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
cout<<dp[n][m];
}
int main()
{
cin>>n>>m>>x>>y;
solution();
return 0;
}
谢谢各位大佬