#include <stdio.h>
#include <algorithm>
using namespace std;
typedef struct xyz
{
int x;
int y;
}xyz;
xyz xy[8]={{-1,2},{1,2},{-2,1},{2,1},{-2,-1},{2,-1},{-1,-2},{1,-2}};
long long int map[40][40],s[40][40];
int main()
{
int n,m,x,y,i,j;
scanf("%d%d%d%d",&n,&m,&x,&y);
n+=2;m+=2;x+=2;y+=2;
map[2][1]=1;
s[x][y]=1;
for(i=1;i<=8;i++)s[x+xy[i].x][y+xy[i].y]=1;
for(i=2;i<=n;i++)
for(j=2;j<=m;j++)
if(s[i][j])continue;
else map[i][j]=map[i-1][j]+map[i][j-1];
printf("%lld\n",map[n][m]);
return 0;
}
我是不是不适合学习算法。。。(崩溃ing)