开头赋值 false 那两个 for 循环是什么鬼啊……
by xutongwei @ 2020-10-01 13:09:59
马最多只能到 8 个点,加上马自己的位置,一共是 9 个不能走的点。
您这弄的……循环 64 次,一堆点都走不了了,肯定错。
by xutongwei @ 2020-10-01 13:11:56
@[HamburgerFav](/user/176316)
by xutongwei @ 2020-10-01 13:12:27
@[xutongwei](/user/223588)
这样好像还不行
```cpp
#include "bits/stdc++.h"
#define MAXN 25
using namespace std;
unsigned long long int dp[MAXN][MAXN] = { 1 };
bool ifHorse[MAXN][MAXN] = { true };
int hMovX[9] = { 0, -2, -1, 1, 2, -2, -1, 1, 2 };
int hMovY[9] = { 0, 1, 2, 2, 1, -1, -2, -2, -1 };
int hPosX, hPosY;
int sDesX, sDesY;
int main()
{
scanf("%d%d%d%d", &sDesX, &sDesY, &hPosX, &hPosY);
for (int i = 0; i < 9; i++)
{
ifHorse[hPosX + hMovX[i]][hPosY + hMovY[i]] = false;
}
for (int i = 0; i < sDesX; i++)
{
for (int j = 0; j < sDesY; j++)
{
if (ifHorse[i][j]) {
dp[i + 1][j + 1] = dp[i][j + 1] + dp[i + 1][j];
}
}
}
printf("%d", dp[sDesX][sDesY]);
return 0;
}
```
by HamburgerFav @ 2020-10-01 13:21:38
码 风 清 奇
by 听取MLE声一片 @ 2020-10-01 13:28:04
双重循环里面...这判断...
by PotassiumHydride @ 2020-10-01 13:40:31
@[HamburgerFav](/user/176316)
```cpp
bool ifHorse[MAXN][MAXN] = { true };
```
除了第一个,其他全部初始化为 false……
当然会炸
by xutongwei @ 2020-10-01 15:12:43