#3#4WA!!!改了好久了,求大佬帮助

P1002 [NOIP2002 普及组] 过河卒

~~竟然没有人抢前排~~前排兜售烤绿鸟
by little_cindy @ 2021-01-29 13:38:15


```cpp #include<bits/stdc++.h> using namespace std; int main(){ bool b[110][110]; long long a[110][110]; memset(b,0,sizeof(b)); short dx[8]={2,1,-1,-2,-2,-1,1,2}; short dy[8]={1,2,2,1,-1,-2,-2,-1}; int n,m,x,y; cin>>n>>m>>x>>y; b[x][y]=1; for(int i=0;i<=7;i++) { if(x+dx[i]>=0&&y+dy[i]>=0&&x+dx[i]<=n&&y+dy[i]<=m)b[x+dx[i]][y+dy[i]]=1; } int k=0; while(!b[k][0]&&k<=n)a[k++][0]=1; int l=0; while(!b[0][l]&&l<=m)a[0][l++]=1; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(b[i][j])a[i][j]=0; else a[i][j]=a[i-1][j]+a[i][j-1]; cout<<a[n][m]; return 0; } ``` 可以参考
by Zelin990 @ 2021-01-29 14:04:05


俗话说:10年OI一场空,不开ll见祖宗
by _caiji_ @ 2021-01-29 15:38:25


左边界和上边界标1的时候错了。你得判断马的落点是不是在边界上。另外如果在边界上你还得终止循环,不能把剩下的标1.
by Gypsy @ 2021-02-21 03:58:10


@[Gypsy](/user/411278) 谢谢
by KAWorld @ 2021-02-25 08:10:47


|