社区讨论
P1002 60pts求助(悬赏2个关注!!!)
题目总版参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo7ub11e
- 此快照首次捕获于
- 2023/10/27 07:53 2 年前
- 此快照最后确认于
- 2023/10/27 07:53 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
long long a, b, c, d, e, f = 1000000, s[1000][1000], ss[1000][1000], sum, aaaa = 1000000, ls, ls1;
int main() {
cin >> a >> b >> c >> d;
if(c-1>=0&&d-2>=0)
s[c - 1][d - 2] = -1;
if(c+1>=0&&d-2>=0)
s[c + 1][d - 2] = -1;
if(c+2>=0&&d-1>=0)
s[c + 2][d - 1] = -1;
if(c-2>=0&&d-1>=0)
s[c - 2][d - 1] = -1;
if(c-2>=0&&d+1>=0)
s[c - 2][d + 1] = -1;
if(c-1>=0&&d+2>=0)
s[c - 1][d + 2] = -1;
if(c+1>=0&&d+2>=0)
s[c + 1][d + 2] = -1;
if(c+2>=0&&d+1>=0)
s[c + 2][d + 1] = -1;
if(c>=0&&d>=0)
s[c][d]=-1;
for (int i = 1; i <= a; i++) {
if (s[0][i] == -1) {
break;
}
s[0][i] = 1;
}
for (int i = 1; i <= b; i++) {
if (s[i][0] == -1) {
break;
}
s[i][0] = 1;
}
for (int i = 1; i <= a; i++) {
for (int j = 1; j <= b; j++) {
if (s[i][j] != -1) {
if (s[i - 1][j] != -1 && s[i][j - 1] != -1) {
s[i][j] = s[i][j - 1] + s[i - 1][j];
}
if (s[i - 1][j] == -1 && s[i][j - 1] != -1) {
s[i][j] = s[i][j - 1];
}
if (s[i - 1][j] != -1 && s[i][j - 1] == -1) {
s[i][j] = s[i - 1][j];
}
}
}
}
cout<<s[a][b];
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...