4 条题解
-
0
#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"); } }
信息
- ID
- 829
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- 递交数
- 132
- 已通过
- 52
- 上传者