#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int mx[8]={-2,-2,2,2,-1,-1,1,1},my[8]={1,-1,1,-1,-2,2,-2,2},a1[2]={0,1},a2[2]={1,0},map[100][100],m1,m2,b2,b1;
long long int d[100][100];
int dfs(int x,int y)
{
if(x==b1&&y==b2)
return 1;
if(x>b1||y>b2||map[x][y]==1)
return 0;
if(d[x][y]>0)
return d[x][y];
if(d[x][y]==0)
{
d[x][y]=dfs(x+1,y)+dfs(x,y+1);
return d[x][y];
}
}
int main()
{
long long int sum;
scanf("%d %d %d %d",&b1,&b2,&m1,&m2);
map[m1][m2]=1;
for(int i=0;i<=7;i++)
{
if(m1+mx[i]>=0&&m2+my[i]>=0)
{
map[m1+mx[i]][m2+my[i]]=1;
}
}
sum=dfs(0,0);
printf("%lld",sum);
system("pause");
return 0;
}
看不出问题出在哪,有大佬帮帮忙嘛