80分求助!!!QWQ

P1002 [NOIP2002 普及组] 过河卒

@[23_VS_24](/user/867681) 这道题牵扯数组过界,所以将处理数据加 2 防止过界即可
by wunaidedanjuan @ 2023-08-27 15:02:41


@[23_VS_24](/user/867681) 微调代码如下: ```cpp #include<bits/stdc++.h> using namespace std; int n,m,x,y; long long f[24][24]={0}; long long ctrl[24][24]; int d[9][2]={{0,0},{1,2},{1,-2},{-1,2},{-1,-2},{2,1},{2,-1},{-2,1},{-2,-1}}; int main() { cin>>n>>m>>x>>y; n+=2; m+=2; x+=2; y+=2; for(int i=0;i<9;i++){ int tmpx=x+d[i][0],tmpy=y+d[i][1]; if(tmpx>=0&&tmpx<=n&&tmpx>=0&&tmpy<=m) ctrl[tmpx][tmpy]=1; } // f[0][0]=1-ctrl[0][0]; f[2][1]=1; for(int i=2;i<=n;i++){ for(int j=2;j<=m;j++){ if(ctrl[i][j]) continue; if(i!=0) f[i][j]+=f[i-1][j]; if(j!=0) f[i][j]+=f[i][j-1]; } } cout<<f[n][m]; return 0; } ```
by wunaidedanjuan @ 2023-08-27 15:03:31


@[wunaidedanjuan](/user/951032) **谢谢大犇!!!**
by 23_VS_24 @ 2023-08-27 15:04:17


|