答案

一二之殇...二九之主  •  1年前


include

include

using namespace std; int n; int sum = 0; int x[20]; bool jd(int k); void bT(int t); int tQ(int n);

int main() {

int ans;
cin >> n;
ans = tQ(n);
if (ans == 0) {
	cout << "no solute!";
}
return 0;

}

int tQ(int n) {

int x[20];
for (int i = 0; i <= n; i++) {
	x[i] = 0;
}
bT(1);
return sum;

}

void bT(int t) {

if (t > n) {
	sum++;
	for (int i = 1; i <= n; i++) {
		cout << "    ";
		cout << x[i];
	}
	printf("\n");
} else {
	for (int j = 1; j <= n; j++) {
		x[t] = j;
		if (jd(t)) {
			bT(t + 1);
		}
	}
}

}

bool jd(int k) {

for (int i = 1; i < k; i++) {
	if (abs(k - i) == abs(x[k] - x[i]) || x[i] == x[k]) {
		return false;
	}
}
return true;

}


评论:

请先登录,才能进行评论