2018-10-09八皇后ver3

···

#include

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啦

你可能感兴趣的:(2018-10-09八皇后ver3)