WA两个点
代码
#include<bits/stdc++.h>
using namespace std;
long long bx,by,mx,my,x[]={0,-2,-1,1,2,-2,-1,1,2},y[]={0,-1,-2,-2,-1,1,2,2,1},dp[31][31];
bool bol;
bool chi(int i,int j)
{
for(int k=0;k<=8;++k)
if(i==mx+x[k]&&j==my+y[k])
return 0;
return 1;
}
int main()
{
cin>>bx>>by>>mx>>my;
for(int i=0;i<=bx;++i)
if(chi(i,0)) dp[i][0]=1;
for(int j=0;j<=by;++j)
if(chi(0,j)) dp[0][j]=1;
for(int i=1;i<=bx;++i)
for(int j=1;j<=by;++j)
if(chi(i,j)) dp[i][j]=dp[i-1][j]+dp[i][j-1];
cout<<dp[bx][by];
}