开局附上蒟蒻的辣鸡代码:
#include <bits/stdc++.h>
using namespace std;
int m, n, x, y;
int f[25][25];
bool b[25][25];
int dir[9][2] = {{0,0},{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{-1,2},{1,-2},{-1,-2}};
int main() {
cin >> m >> n >> x >> y;
f[0][0] = 1;
for(int i=0; i<=8; i++) {
int nx = x+dir[i][0], ny = y+dir[i][1];
if(nx>=0&&nx<=m&&ny>=0&&ny<=n) {
b[nx][ny] = 1;
}
}
if(!b[0][0]) f[0][0] = 1;
for(int i=0; i<=m; i++) {
for(int j=0; j<=n; j++) {
if(i==0&&j==0) continue;
if(b[i][j]) continue;
if(i!=0) f[i][j] += f[i-1][j];
if(j!=0) f[i][j] += f[i][j-1];
}
}
cout << f[m][n];
return 0;
}
求找错,感谢