#include<bits/stdc++.h>
using namespace std;
int bx,by,mx,my,dp[23][23];
bool flag[23][23];
int main()
{
cin>>bx>>by>>mx>>my;
flag[mx+1][my+2]=true;
flag[mx+2][my+1]=true;
flag[mx-1][my+2]=true;
flag[mx-2][my+1]=true;
flag[mx-1][my-2]=true;
flag[mx-2][my-1]=true;
flag[mx+1][my-2]=true;
flag[mx+2][my-1]=true;
dp[0][0]=0;
dp[0][1]=1;
dp[1][0]=1;
for(int i=1;i<=mx;i++)
{
for(int j=1;j<=my;j++)
{
if(flag[i][j])
{
dp[i][j]=0;
}
else
{
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
}
cout<<dp[mx][my];
return 0;
}
为什么输出不对?