20010941 2011-08-16 22:16:00
点我顶贴
收藏
删除
#include<stdio.h>
int dx[9]={0,1,2,-1,2,-2,1,-1,-2};
int dy[9]={0,2,1,2,-1,1,-2,-2,-1};
int n,m,x,y;
long long g[22][22];
main(){
scanf("%d %d %d %d",&n,&m,&x,&y);
g[x][y]=-1;
int i,j;
long long cx,cy;
for(i=1;i<=8;i++)
{
if(x+dx[i]>=0&&x+dx[i]<=n&&y+dy[i]>=0&&y+dy[i]<=m)
g[x+dx[i]][y+dy[i]]=-1;
}
g[0][0]=1;
for(i=0;i<=n;i++)
{
for(j=0;j<=m;j++)
{
if(i==0&&j==0) continue;
if(g[i][j]==-1) continue;
if(i<1||g[i-1][j]==-1) cx=0;
else cx=g[i-1][j];
if(j<1||g[i][j-1]==-1) cy=0;
else cy=g[i][j-1];
g[i][j]=cx+cy;
}
}
printf("%lld",g[n][m]);
return 0;
}