WA了#3#4,其它全部AC
测试点#3的数据输进去输出是57050531010,测试点#4的数据拿不到
#include<cstdio>
#define size 22
long long map[size][size];
bool control[size][size];
int pos[9][2]=
{ {0,0} ,{-1,2} ,{1,2} ,
{2,1} ,{2,-1} ,{1,-2},
{-1,-2},{-2,-1},{-2,1}};
int m,n,hx,hy;
int dx,dy;
int i,j;
int main(){
scanf("%d %d %d %d",&m,&n,&hx,&hy);
for(i=0;i<9;i++){
dx=hx+pos[i][0],dy=hy+pos[i][1];
if(dx>=0&&dy>=0&&dx<=m&&dy<=n)
control[dx][dy]=1;
}
for(i=1;i<=m;i++)
if(!control[i][0])map[i][0]=1;
for(i=1;i<=n;i++)
if(!control[0][i])map[0][i]=1;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++){
if(!control[i][j])map[i][j]=map[i-1][j]+map[i][j-1];
else map[i][j]=0;
}
printf("%lld",map[m][n]);
return 0;
}