信息
- ID
- 829
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- 递交数
- 132
- 已通过
- 52
- 上传者
#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("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &b);
for(j = 0; j < 8; j++) printf("%d", ans[b - 1][j]);
printf("\n");
}
}