本蒟蒻因太菜,P1002 [NOIP2002 普及组] 过河卒只拿了 40分 ,望各位巨佬帮我看下代码。但是请巨佬们不要骂我(虽然我实际上很菜。)
代码:
#include<cstdio>
int main()
{
long long Bx,By,Cx,Cy,a[25][25],i,j;
scanf("%lld%lld%lld%lld",&Bx,&By,&Cx,&Cy);
Bx++;By++;
for(i=0;i<Bx;i++) for(j=0;j<Bx;j++) a[i][j]=1;
a[Cx][Cy]=0;
if(Cx-2<=Bx&&Cy+1<=By) a[Cx-2][Cy+1]=0;
if(Cx-1<=Bx&&Cy+2<=By) a[Cx-1][Cy+2]=0;
if(Cx+1<=Bx&&Cy+2<=By) a[Cx+1][Cy+2]=0;
if(Cx+2<=Bx&&Cy+1<=By) a[Cx+2][Cy+1]=0;
if(Cx+2<=Bx&&Cy-1<=By) a[Cx+2][Cy-1]=0;
if(Cx+1<=Bx&&Cy-2<=By) a[Cx+1][Cy-2]=0;
if(Cx-1<=Bx&&Cy-2<=By) a[Cx-1][Cy-2]=0;
if(Cx-2<=Bx&&Cy-1<=By) a[Cx-2][Cy-1]=0;
for(i=1;i<Bx;i++) for(j=1;j<By;j++)
{
if(a[i][j]==0) continue;
a[i][j]=a[i-1][j]+a[i][j-1];
}
printf("%lld",a[Bx-1][By-1]);
return 0;
}