这样,你可以先尝试写一个偏置数组,对马的移动方向进行定义,方便很多且不容易出错
by Lieyiqi @ 2023-10-03 22:27:39
https://www.luogu.com.cn/discuss/696018
当马能控制地图边界的时候边界后面的都过不去了qwq
by Herobrine6265 @ 2023-10-03 22:29:52
你被棕,@[___qwerty___](/user/1070636) 有话说
by _qwerty_ @ 2023-10-03 22:47:02
直接定义方位数组,例如:
```
int fx[20]={0,-2,-1,1,2,2,1,-1,-2};
int fy[20]={0,1,2,2,1,-1,-2,-2,-1};
```
by huangmingyisunny1804 @ 2023-10-07 17:56:02
```
#include<bits/stdc++.h>
#define int long long
using namespace std;
int dx[20]={0,-2,-1,1,2,2,1,-1,-2};
int dy[20]={0,1,2,2,1,-1,-2,-2,-1};
int zx,zy,mx,my;
int f[45][45];
bool s[45][45];
signed main(){
cin>>zx>>zy>>mx>>my;
zx+=2;
zy+=2;
mx+=2;
my+=2;
f[2][1]=1;
s[mx][my]=1;
for(int i=1;i<=8;i++){
s[mx+dx[i]][my+dy[i]]=1;
}
for(int i=2;i<=zx;i++){
for(int j=2;j<=zy;j++){
if(s[i][j]==true){
continue;
}
f[i][j]=f[i-1][j]+f[i][j-1];
}
}
cout<<f[zx][zy];
return 0;
}
```
by huangmingyisunny1804 @ 2023-10-07 18:06:25