为啥我的结果总是1?(有注释&关注悬赏)

P1002 [NOIP2002 普及组] 过河卒

v数组用的bool
by PorkSausage @ 2024-02-06 21:45:29


@[Lzj_090909](/user/1069781)
by PorkSausage @ 2024-02-06 21:45:37


@[PorkSausage](/user/974277) 按你说的改只有60pts,剩下的我自己解决了(已关注) ```cpp #include<iostream> using namespace std; const int fx[9]={0,-2,-1,1,2,2,1,-1,-2}; const int fy[9]={0,1,2,2,1,-1,-2,-2,-1}; int main() { long long n,m,x,y; cin>>n>>m>>x>>y; long long v[n+1][m+1]; for(int i=0;i<=n;++i)//初始化棋盘 for(int j=0;j<=m;++j) v[i][j]=1; for(int i=0;i<=8;++i)//标记马及其控制点 if(fx[i]+x>=0 && fy[i]+y>=0 && fx[i]+x<=n && fy[i]+y<=m) v[fx[i]+x][fy[i]+y]=0; for(int i=0;i<=n;++i)//递推遍历棋盘 for(int j=0;j<=m;++j) { if((i==0 && j==0)||v[i][j]==0) continue; if(i==0) v[i][j]=v[i][j-1]; else if(j==0) v[i][j]=v[i-1][j]; else v[i][j]=v[i-1][j]+v[i][j-1]; } cout<<v[n][m]; return 0; } ```
by Lzj_090909 @ 2024-02-06 22:19:02


此 贴 结
by Lzj_090909 @ 2024-02-06 22:20:49


|