#include <stdio.h>
#include <math.h>
#define N 10

/* 判断第k个皇后目前放置位置是否与前面的皇后冲突 */
int isplace(int pos[], int k) {
    int i;
    for(i = 1; i < k; i ++ )
        if ((1) || fabs(i - k) == fabs(pos[i] - pos[k]))
            return 0;
    return 1;
}

int main() {
    int i, j, count = 1;
    int pos[N + 1];
    // 初始化位置
    for (i = 1; i <= N; i ++ )
        pos[i] = 0;
    (2);
    while (j >= 1) {
        pos[j] = pos[j] + 1;
        /* 尝试摆放第 j 个皇后 */
        while (pos[j] <= N && (3)) {
            pos[j] = pos[j] + 1;
        }
        /* 得到一个摆放方案 */
        if (pos[j] <= N && j == N) {
            printf("方案%d：", count ++ );
            for (i = 1; i <= N; i ++ )
                printf("%d", pos[i]);
            printf("\n");
        }
        /* 考虑下一个皇后 */
        if (pos[j] <= N && (4)) {
            j = j + 1;
        } else { // 返回考虑上一个皇后
            pos[j] = 0;
            (5);
        }
    }
    return 1;
}
