社区讨论
60分求调
P1002[NOIP 2002 普及组] 过河卒参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mlqluwa9
- 此快照首次捕获于
- 2026/02/17 20:54 前天
- 此快照最后确认于
- 2026/02/18 20:12 16 小时前
CPP
#include <bits/stdc++.h>
using namespace std;
int a[21][21]={0};
bool b[21][21];
int tmp1[8]={-2,-2,-1,-1,1,1,2,2};
int tmp2[8]={-1,1,2,-2,2,-2,-1,1};
int n,m,x,y;
int main(){
cin>>n>>m>>x>>y;
b[x][y]=1;
for (int i=0; i<8; i++){
if(x+tmp1[i]<=n && x+tmp1[i]>=0 && y+tmp2[i]<=m && y+tmp2[i]>=0){
b[x+tmp1[i]][y+tmp2[i]]=1;
}
}
for (int i=0; i<=n; i++){
for (int j=0; j<=m; j++){
if(i==0 && j==0){
a[i][j]=1;
}
else if(!b[i][j]){
a[i][j]=a[i-1][j]+a[i][j-1];
}
else{
a[i][j]=0;
}
}
}
cout<<a[n][m];
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...