RT
找半天找不出错QAQ,求大佬帮忙看看
#include <bits/stdc++.h>
using namespace std;
unsigned long long dp[25][25];
bool f[25][25];
const int d[2][9]={{1,1,-1,-1,2,-2,2,-2},{2,-2,2,-2,1,1,-1,-1}};
int main()
{
int bx,by,hx,hy;
cin>>bx>>by>>hx>>hy;
bx+=1,by+=1,hx+=1,hy+=1;
f[hy][hx]=true;
for(int i=0;i<8;i++)
if(hy+d[0][i]>0&&hx+d[1][i]>0)
f[hy+d[0][i]][hx+d[1][i]]=true;
for(int x=1;x<=bx;x++) if(!f[1][x]) dp[1][x]=1;
for(int y=2;y<=by;y++)
for(int x=1;x<=bx;x++)
if(!f[y][x]) dp[y][x]=dp[y][x-1]+dp[y-1][x];
cout<<dp[by][bx];
return 0;
}