8 皇后呢

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

换成经典的 8×8 棋盘。运行同样的程序:

def ok(col, c):
    r = len(col)
    for i in range(r):
        if col[i] == c or abs(col[i] - c) == r - i:
            return False
    return True

def queens(n):
    st = {"c": 0, "v": 0}
    col = []
    def dfs():
        st["v"] += 1
        if len(col) == n:
            st["c"] += 1
            return
        for c in range(n):
            if not ok(col, c):
                continue
            col.append(c)
            dfs()
            col.pop()
    dfs()
    return st["c"], st["v"]

print(queens(8)[0])
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论