60分求助!~

P1002 [NOIP2002 普及组] 过河卒

麻烦关注一下,我的名字叫"lmyedison" 我也关注了你。 ```cpp #include<bits/stdc++.h> using namespace std; int dx[8]={-2,-1,1,2,2,1,-1,-2}; int dy[8]={1,2,2,1,-1,-2,-2,-1}; int n,m,mx,my; long long dp[25][25]; bool f[25][25]; int main() { cin>>m>>n>>mx>>my; f[mx][my]=true; for(int i=0;i<=7;i++) { int nx=mx+dx[i]; int ny=my+dy[i]; if(nx>=0&&nx<=n&&ny>=0&&ny<=m) f[nx][ny]=true; } for(int i=0;i<=m;i++) { if(f[0][i]==true) break; dp[0][i]=1; } for(int i=0;i<=n;i++) { if(f[i][0]==true) break; dp[i][0]=1; } for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(f[i][j]==true) dp[i][j]=0; else dp[i][j]=dp[i-1][j]+dp[i][j-1]; cout<<dp[n][m]; return 0; } ```
by lmyedison @ 2021-08-02 11:48:22


|