#5 本地对的。。。 交上去错的

P1002 [NOIP2002 普及组] 过河卒

数组越界了
by impuk @ 2020-08-12 00:10:49


@[白衣少侠](/user/229893) ``` #include <iostream> #include <map> #include <algorithm> using namespace std; map<long long,map<long long,long long> > dp; map<long long,map<long long,long long> > ma; long long w[5][2]={{1,2},{-1,2},{-1,-2},{1,-2}}; int main(){ long long n,m,a,b; cin >>n >> m >> a >> b; for(int i=0;i<4;i++){ ma[2*i][0] = a+w[i][0]; ma[2*i][1] = b+w[i][1]; ma[2*i+1][0]= a+w[i][1]; ma[2*i+1][1]= b+w[i][0]; } for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ dp[i][j] = dp[i-1][j]+dp[i][j-1]; for(int k=0;k<8;k++){ if(i == ma[k][0] && j==ma[k][1]) dp[i][j] = 0; } if(i == a && j == b) dp[i][j]=0; if(i ==0 && j ==0) dp[i][j] =1; } } cout << dp[n][m] << endl; return 0; } ``` 用 map 之后实测可以AC。
by impuk @ 2020-08-12 00:11:05


@[一只爬行者](/user/279700) 谢谢大佬
by 白衣少侠 @ 2020-08-12 07:39:51


|