(眼花输出打错了)
```cpp
#include <iostream>
#define int long long int
using namespace std;
const int E1[9] = {0, -2, -1, 1, 2, 2, 1, -1, -2}, E2[9] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
int I1, I2, J1, J2, DP[45][45], i, j;
bool Block[45][45];
signed main () {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> I1 >> I2 >> J1 >> J2;
I1 += 2, I2 += 2, J1 += 2, J2 += 2, DP[2][1] = 1, Block[J1][J2] = 1;
for (i = 1; i <= 8; i++)
Block[J1 + E1[i]][J2 + E2[i]] = 1;
for (i = 2; i <= I1; i++) {
for (j = 2; j <= I2; j++) {
if (Block[i][j])
continue;
DP[i][j] = DP[i - 1][j] + DP[i][j - 1];
}
}
cout << DP[I1][I2];
return 0;
}
```
**此帖结**
by SixSeven @ 2024-03-17 10:22:25