@[Foraver](/user/1002361) 注意:x-2,y-2都有可能是负数,所以会RE
by Y_QWQ_Y @ 2024-01-22 13:51:57
@[Foraver](/user/1002361) 改成这样即可。
```cpp
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,x,y,dp[10005][10005],a[10005][10005];
signed main()
{
scanf("%lld%lld%lld%lld",&n,&m,&x,&y);
if (x > 1 && y > 0)a[x-2][y-1]=1;
if (x > 1)a[x-2][y+1]=1;
if (x > 0)a[x-1][y+2]=1;
if (x > 0 && y > 1)a[x-1][y-2]=1;
a[x+1][y+2]=1;
a[x+2][y+1]=1;
if (y > 0)a[x+2][y-1]=1;
if (y > 1)a[x+1][y-2]=1;
a[x][y]=1;
a[0][0]=1;
dp[0][0]=1;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(a[i][j]==0)
{
if(j==0)dp[i][j]=dp[i-1][j];
else if(i==0)dp[i][j]=dp[i][j-1];
else dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
}
printf("%lld",dp[n][m]);
return 0;
}
```
by Y_QWQ_Y @ 2024-01-22 13:55:16
非常感谢
by Foraver @ 2024-01-22 14:12:18
已关注
by Foraver @ 2024-01-22 14:13:29