社区讨论
???
P1002[NOIP 2002 普及组] 过河卒参与者 5已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @m24rs54b
- 此快照首次捕获于
- 2024/10/11 21:35 去年
- 此快照最后确认于
- 2025/11/04 23:57 4 个月前
服了,我这份代码为什么不开O2就会挂,开了就AC?
C#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,x,y,dp[25][25],vis[25][25];
int d1[8]={-2,-2,-1,-1,1,1,2,2};
int d2[8]={-1,1,-2,2,-2,2,-1,1};
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>x>>y;
for(int i=0;i<8;i++){
if(x+d1[i]<0||x+d1[i]>n||y+d2[i]<0||y+d2[i]>m){
continue;
}else{
vis[x+d1[i]][y+d2[i]]=1;
}
}
vis[x][y]=1;
if(vis[0][0]==0){
dp[0][0]=1;
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(vis[i][j]==0&&dp[i][j]!=1){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
}
cout<<dp[n][m];
return 0;
}
回复
共 12 条回复,欢迎继续交流。
正在加载回复...