社区讨论
为什么后三个测试点WA了
P1219[USACO1.5] 八皇后 Checker Challenge参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @m5rqlck2
- 此快照首次捕获于
- 2025/01/11 13:19 去年
- 此快照最后确认于
- 2025/11/04 11:47 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
long long id = 0, a[100], b[100], c[100][2], n, s = 0;
void dfs(int i) {
if (id < 3 && i > n) {
for (long long i = 1; i <= s; i++) {
cout << a[i] << ' ';
}
cout << endl;
id++;
return ;
} else if (i > n) {
id++;
} else {
for (long long j = 1; j <= n; j++) {
if (!c[i - j + n][1] && !c[i + j][0] && !b[j]) {
s++;
a[s] = j;
b[j] = 1;
c[i - j + n][1] = 1;
c[i + j][0] = 1;
dfs(i + 1);
b[j] = 0;
c[i - j + n][1] = 0;
c[i + j][0] = 0;
s--;
}
}
}
}
int main() {
cin >> n;
dfs(1);
cout << id;
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...