···
#include<stdio.h>
int ans[92][8], n, b, i, j, num, hang[8];
void queen(int i) {
int j, k;
if (i == 8) {
for (j = 0; j < 8; j++)
{
ans[num][j] = hang[j] + 1;
}
num++;
return;
}
for (j = 0; j < 8; j++) {
for (k = 0; k < i; k++) {
if (hang[k] == j || (k - i) == (hang[k] - j) || (i - k) == (hang[k] - j))
break;
}
if (k == i) {
hang[i] = j;
queen(i + 1);
}
}
}
int main() {
num = 0;
queen(0);
scanf_s("%d", &n);
for (i = 0; i < n; i++) {
scanf_s("%d", &b);
for (j = 0; j < 8; j++)
printf("%d", ans[b - 1][j]);
printf("\n");
}
}
···
ac啦
网友评论