社区讨论

为什么后三个测试点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 条回复,欢迎继续交流。

正在加载回复...