只有60分,求大佬帮忙看一下。

P1002 [NOIP2002 普及组] 过河卒

```cpp #include<bits/stdc++.h> #define int long long using namespace std; int n,m,x,y,dp[1001][1001]; bool check(int x2,int y2){ return (x2==x+1&&y2==y+2)||(x2==x-1&&y2==y+2)||(x2==x+1&&y2==y-2)||(x2==x-1&&y2==y+-2)||(x2==x+2&&y2==y+1)||(x2==x+2&&y2==y-1)||(x2==x-2&&y2==y+1)||(x2==x-2&&y2==y-1)||(x2==x&&y2==y); } signed main(){ cin>>n>>m>>x>>y; x++,y++; dp[1][1]=1; for(int i=1;i<=n+1;i++){ for(int j=1;j<=m+1;j++){ if(!check(i,j)){ dp[i][j+1]+=dp[i][j],dp[i+1][j]+=dp[i][j]; } } } cout<<dp[n+1][m+1]; return 0; } ``` @[hwyb233](/user/1435213)
by zjr2014 @ 2024-09-20 11:27:39


|