测例3和4WA了,麻烦各位佬帮看一眼代码哪有问题orz
#include<stdio.h>
int main()
{
long long dp[21][21]={1};int bar[21][21]={},m,n,p,q,i,j;
scanf("%d %d %d %d",&m,&n,&p,&q);
bar[p][q]=1;
bar[p-2][q-1]=1;bar[p-2][q+1]=1;
bar[p-1][q-2]=1;bar[p-1][q+2]=1;
bar[p+1][q-2]=1;bar[p+1][q+2]=1;
bar[p+2][q-1]=1;bar[p+2][q+1]=1;
for(i=0;i<=m;i++)
{
if(bar[i][0]==1)
{
dp[i][0]=0;
break;
}
else dp[i][0]=1;
}
for(j=0;j<=n;j++)
{
if(bar[0][j]==1)
{
dp[0][j]=0;
break;
}
else dp[0][j]=1;
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(bar[i][j]==0) dp[i][j]=dp[i-1][j]+dp[i][j-1];
printf("%lld",dp[m][n]);
return 0;
}