40分求助 #1 WA,#3#4 TLE

P1002 [NOIP2002 普及组] 过河卒

``` #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; const int fx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2}; const int fy[] = {0, 1, 2, 2, 1, -1, -2, -2, -1}; int bx, by, mx, my; long long f[40][40]; bool s[40][40]; int main(){ scanf("%d%d%d%d", &bx, &by, &mx, &my); bx += 2; by += 2; mx += 2; my += 2; f[2][1] = 1; s[mx][my] = 1; for(int i = 1; i <= 8; i++) s[mx + fx[i]][my + fy[i]] = 1; for(int i = 2; i <= bx; i++){ for(int j = 2; j <= by; j++){ if(s[i][j]) continue; f[i][j] = f[i - 1][j] + f[i][j - 1]; } } printf("%lld\n", f[bx][by]); return 0; } ```
by zhenguo @ 2023-07-19 19:12:28


@[zhenguo](/user/1003743) 谢谢!!!
by Li_Jiayu @ 2023-07-31 20:49:59


|