社区讨论

全部RE,求调

P1219[USACO1.5] 八皇后 Checker Challenge参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhjbdgkh
此快照首次捕获于
2025/11/03 23:47
4 个月前
此快照最后确认于
2025/11/03 23:47
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
int a[100000],b[100000],c[100000],d[100000];
int total;
int n;
int print() {
	if(total<=2) {
		for(int k=1; k<=n; k++)
			cout<<a[k]<<" ";
		cout<<endl;
	}
	total++;
}
void queen(int i) {
	if(i>n) {
		print();
		return;
	} else {
		for(int j=1; j<=n; j++) {
			if((!b[j])&&(!c[i+j])&&(!d[i-j+n])) {
				a[i]=j;
				b[j]=1;
				c[i+j]=1;
				d[i-j+n]=1;

				queen(i+1);
				b[j]=0;
				c[i+j]=0;
				d[i-j+n]=0;

			}
		}
	}
}
int main() {
	cin>>n;
	queen(1);
	cout<<total;
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...