0分求助

P1002 [NOIP2002 普及组] 过河卒

@[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


|