帮忙看下代码哪错了

P1002 [NOIP2002 普及组] 过河卒

格式
by ☪stars⚛ @ 2018-08-11 10:41:04


``` #include<cstdio> const int Const[2][9]={{0,-2,-1,1,2,2,1,-1,-2},{0,1,2,2,1,-1,-2,-2,-1}}; long long DP[21]={1}; bool mark[21][21]; int main() { int nx,ny,hx,hy; scanf("%d%d%d%d",&nx,&ny,&hx,&hy); for(int i=0;i<9;++i) if(hx+Const[0][i]>=0&&hx+Const[0][i]<=nx&&hy+Const[1][i]>=0&&hy+Const[1][i]<=ny) mark[hx+Const[0][i]][hy+Const[1][i]]=1; for(int i=0,j;i<=nx;++i) for(DP[0]*=!mark[i][0],j=1;j<=ny;++j) (DP[j]+=DP[j-1])*=!mark[i][j]; printf("%lld",DP[ny]); return 0; } ```
by 默哥儿 @ 2018-08-11 10:44:28


@[PerfectJames](/space/show?uid=66803)
by 默哥儿 @ 2018-08-11 10:44:32


直接帮你做了
by 默哥儿 @ 2018-08-11 10:44:51


@[默哥儿](/space/show?uid=88038) 谢谢!但不知道用这种代码哪里出错了?望指点一下
by PerfectJames @ 2018-08-11 10:46:01


@[PerfectJames](/space/show?uid=66803) ''' 这里放代码(把'换成`) '''
by JAMERES86 @ 2018-08-11 10:59:48


格式太乱看不了
by JAMERES86 @ 2018-08-11 11:00:13


```cpp #include<iostream> using namespace std; int main(){ long long n; long long m; long long x; long long y; cin>>n>>m>>x>>y; n=n+1; m=m+1; x=x+1; y=y+1; long long map[n+1][m+1]; for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ map[i][j]=0; } } //map[x][y]=0; //map[x+2][y+1]=0; //map[x+1][y+2]=0; //map[x-2][y+1]=0; //map[x-1][y+2]=0; //map[x-2][y-1]=0; //map[x-1][y-2]=0; //map[x+2][y-1]=0; //map[x+1][y-2]=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(i==1&&j==1){ map[i][j]=1; }else if((i==x&&j==y)||(i==x+2&&j==y+1)||(i==x+1&&j==y+2)||(i==x-2&&j==y+1)||(i==x-1&&j==y+2)||(i==x-2&&j==y-1)||(i==x-1&&j==y-2)||(i==x+2&&j==y-1)||(i==x+1&&j==y-2)){ map[i][j]=0; }else{ map[i][j]=map[i-1][j]+map[i][j-1]; } } } /* for(int i=1;i<n;i++){ for(int j=1;j<m;j++){ map[i][j]=map[i-1][j]+map[i][j-1]; } } */ // for(int i=0;i<=n;i++){ // for(int j=0;j<=m;j++){ // cout<<map[i][j]<<'\t'; // } // cout<<endl; // } cout<<map[n][m]; return 0; } ```
by JAMERES86 @ 2018-08-11 11:00:49


#include<bits/stdc++.h> using namespace std; int dp[25][25]; int main() { int n,m,a,b; cin>>n>>m>>a>>b; for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ dp[i][j]=1; if(a-2>=0 && b-1>=0) dp[a-2][b-1]=0; else if(a-2>=0 && b+1<=m) dp[a-2][b+1]=0; else if(a-1>=0 && b-2>=0) dp[a-1][b-2]=0; else if(a-1>=0 && b+2<=m) dp[a-1][b+2]=0; else if(a+2<=n && b-1>=0) dp[a+2][b-1]=0; else if(a+1<=n && b-2>=0) dp[a+1][b-2]=0; else if(a+1<=n && b+2<=m) dp[a+1][b+2]=0; else if(a+2<=n && b+1<=m) dp[a+2][b+1]=0; dp[a][b]=0; } } for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ if(dp[i][j]){ if(i==0 && j==0) continue; else if(i==0) dp[i][j]=dp[i][j-1]; else if(j==0) dp[i][j]=dp[i-1][j]; else dp[i][j]=dp[i][j-1]+dp[i-1][j]; } } } cout<<dp[n][m]<<endl; return 0; }
by PerfectJames @ 2018-08-11 11:42:13


@[PerfectJames](/space/show?uid=66803) 大佬帮忙看下
by PerfectJames @ 2018-08-11 11:42:43


|