与其锦上添花,不如雪中送炭。
#include <cstdio>
#include <cstring>
long long f[25][25];
int n,m,x,y;
int d[2][9]={{0,-1,-2,-1,-2, 1, 2, 1, 2},
{0,-2,-1, 2, 1, 2, 1,-2,-1}};
bool In(int x,int y)
{
if(x>=0 && y>=0 && x<=n && y<=m)
return 1;
return 0;
}
int main()
{
scanf("%d%d%d%d",&n,&m,&x,&y);
for(int i=0;i<9;i++)
if(In(d[0][i]+x,d[1][i]+y))
f[d[0][i]+x][d[1][i]+y]=1;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
if(f[i][j]!=0)
f[i][j]=0;
else if(i==0 || j==0)
f[i][j]=1;
else
f[i][j]=f[i-1][j]+f[i][j-1];
printf("%lld\n",f[n][m]);
return 0;
}
测试点 | 状态 | 得分 |
---|
#1 | AC | 20 |
#2 | AC | 20 |
#3 | WA | 0 |
#4 | WA | 0 |
#5 | AC | 20 |