遞歸求解八皇后

function queen(n) {
    var count = 0;

    var arr = [];
    var row = 0;
    visit(arr, row);

    return count;

    function visit(arr, row) {
        for (var i = 0; i < n; i++) {
            arr[row] = i;
            if (check(arr, row)) {
                if (row == n - 1) {
                    // console.log(arr);
                    count++;
                } else {
                    visit(arr, row + 1);
                }
            }
        }

        function check(arr, row) {
            for (var i = 0; i < row; i++) {
                if (arr[row] == arr[i] || Math.abs((row - i) / (arr[row] - arr[i])) == 1) {
                    return false;
                }
            }
            return true;
        }
    }

}


console.log(queen(8));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章