#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long m[100][100],n,m0,x,y,x1,y1,i,j;
int ma[9][2]={{0,0},{-2,-1},{-1,-2},{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1}};
scanf("%lld%lld%lld%lld",&n,&m0,&x,&y);
for (i=0;i<9;i++)
{
if (x+ma[i][0]>=0 && x+ma[i][0]<=n && y+ma[i][1]>=0 && y+ma[i][1]<=n)
{
x1=x+ma[i][0];
y1=y+ma[i][1];
m[x1][y1]=-1;
}
}
m[0][0]=1;
for (i=0;i<=n;i++)
{
for (j=0;j<=m0;j++)
{
if (i==0 && j==0)
continue;
if (m[i][j]==-1)
m[i][j]=0;
else if (i==0 && j>0)
{
m[i][j]=m[i][j-1];
}
else if (i!=0 && j==0)
{
m[i][j]=m[i-1][j];
}
else
m[i][j]=m[i-1][j]+m[i][j-1];
}
}
printf("%lld\n",m[n][m0]);
return 0;
}
洛谷P1002 过河卒
最新推荐文章于 2023-07-22 23:42:33 发布