#include<bits/stdc++.h>
#define x1 xx
#define y1 yy
using namespace std;
int m[25][25];
unsigned long long f[25][25];
int x1,y1,x2,y2;
int main()
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
x1++;
x2++;
y1++;
y2++;
m[x2-2][y2-1]=1;
m[x2-1][y2-2]=1;
m[x2-2][y2+1]=1;
m[x2-1][y2+2]=1;
m[x2+2][y2-1]=1;
m[x2+2][y2+1]=1;
m[x2+1][y2-2]=1;
m[x2+1][y2+2]=1;
f[1][1]=1;
for(int i=1;i<=x1;i++)
{
for(int j=1;j<=y1;j++)
{
if(m[i][j]!=1)f[i][j]=f[i-1][j]+f[i][j-1];
}
}
cout<<f[x1][y1];
return 0;
}
m是标记马的
所有加了1所以初坐标是1,1,即f[1][1]=1;
求救!!