大佬求调

P1002 [NOIP2002 普及组] 过河卒

标控制点的x和y放反了 ```cpp #include<iostream> using namespace std; const int CON[2][9]={{2,1,-1,-2,-2,-1,1,2,0},{1,2,2,1,-1,-2,-2,-1,0}} ; long long int a[1000][1000]={0}; int flag[1000][1000]={0}; int main() { int bx,by,hx,hy; cin>>bx>>by>>hx>>hy; for(int i=0;i<9;i++) { if(hx+CON[0][i]<=bx&&hy+CON[1][i]<=by&&hx+CON[0][i]>=0&&hy+CON[1][i]>=0) { int x=hx+CON[0][i]; int y=hy+CON[1][i]; flag[x][y]=1; } } a[0][0]=1; for(int i=0;i<=bx;i++) { for(int j=0;j<=by;j++) { if(i) { a[i][j]+=a[i-1][j];} if(j) { a[i][j]+=a[i][j-1];} a[i][j]*=!flag[i][j]; } } printf("%lld",a[bx][by]); } ```
by liuzihao1234 @ 2023-10-28 13:05:52


|