@[gzy123456](/user/915232) 有一些小错……
by Ifyoung @ 2023-07-21 15:32:44
改之后的代码如下:
```cpp
#include <iostream>
#include <cstdio>
using namespace std;
int fx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2};
int fy[] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
int bx, by, mx, my;
long long mp[40][40];
bool f[40][40];
int main() {
cin >> bx >> by >> mx >> my;
bx += 1;
by += 1;
mx += 1;
my += 1;
for (int i=0; i<=8; i++) {
int mjx = mx + fx[i];
int mjy = my + fy[i];
f[mjx][mjy] = 1;
}
mp[1][1] = 1;
for (int i=1; i<=bx; i++) {
for (int j=1; j<=by; j++) {
if (i == 1 && j == 1) continue;
if (f[i][j] == 0) mp[i][j] = (mp[i-1][j] + mp[i][j-1]);
}
}
cout << mp[bx][by];
return 0;
}
```
by Ifyoung @ 2023-07-21 15:33:10
@[gzy123456](/user/915232) 为什么一开始要 `+= 2` 呢?
by Ifyoung @ 2023-07-21 15:34:07
@[Ifyoung](/user/745434)
谢谢大佬!!!
过了!!!
by gzy123456 @ 2023-07-21 16:17:02