文章
35
粉丝
599
获赞
6
访问
309.8k
#include<iostream>
#include<cstdio>
using namespace std;
int x1[9]={0,-2,-1,1,2,2,1,-1,-2};
int y1[9]={0,1,2,2,1,-1,-2,-2,-1};
long long s[25][25]={0},a[25][25]={0};
int n,m,x,y;
int main()
{
while(scanf("%d%d%d%d",&n,&m,&x,&y)){
memset(a,0,sizeof(a));
a[x][y]=1;
for(int i=1;i<=8;i++)
if(x+x1[i]>=0&&y+y1[i]>=0)
a[x+x1[i]][y+y1[i]]=1;
s[0][0]=1;
for(int i=1;i<=n;i++)
{
if(a[i][0]==0) s[i][0]=1;
else break;
}
for(int j=1;j<=m;j++)
{
if(a[0][j]==0) s[0][j]=1;
else break;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(a[i][j]==0)
s[i][j]=s[i-1][j]+s[i][j-1];
else s[i][j]=0;
}
printf("%lld\n",s[n][m]);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发