0
已解决
#include <iostream>
using namespace std;
int dir[9][2]={{0},{-2,-1},{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2}};
bool vis[11][11];
int f[11][11];
int n,m,x,y;
int main(){
cin>>n>>m>>x>>y;
for(int i=0;i<=8;i++){
int dx=x+dir[i][0],dy=y+dir[i][1];
if(dx>=0&&dy>=0&&dx<=n&&dy<=m)
vis[dx][dy]=true;
}
f[0][0]=1;
for(int j=0;j<=m;j++){
for(int i=0;i<=n;i++){
if(vis[i][j]==true)
continue;
else{
for(int k=i+1;k<=n;k++){
f[i][j]+=f[k][j];
}
for(int k=j+1;k<=m;k++){
f[i][j]+=f[i][k];
}
}
}
}
cout<<f[n][m];
return 0;
}
