在西洋棋裡, 皇后可以在方格盤面上的任意一個方向走任意步. 請問在一個8x8的盤面上, 如何擺上8個皇后, 使她們彼此都吃不到? 共有幾種擺法?
/* 此函數在螢幕上顯示盤面狀況
 */
void showBoard(char board[]) {
}

/* 此函數試圖在board上面的第at row上放一個皇后,
   若找到可以放的位置, 就遞迴呼叫自己以便在at+1 row放上另一個Queen,
   若所放的是最後一個row, 則印出整個盤面
*/
void putOneQueen(char board[], int at) {
    // 檢查at row上的每一個column(有8個要檢查)
        // 如果要放上去的地方不在任何一個皇后的勢力範圍內
            // 放上新皇后
            // 建立新皇后的勢力範圍(有八個方向要設定)
            // 如果at是8, 表示已經放了八個皇后了, 把盤面印出來
            // 否則遞迴呼叫自己以便在下一個row放入新皇后
            // 移除此皇后
            // 移除此皇后的勢力範圍(有八個方向要設定)
}
int main() {
    putOneQueen(initBoard, 1);
    printf("八皇后問題共有%d組解\n", solutions);
}