题解 | #N皇后问题#

N皇后问题

http://www.nowcoder.com/practice/c76408782512486d91eea181107293b6

def queen(result, board, n, row=0):
    if row >= n:
        result.append(board[::])
    else:
        for col in range(n):
            for i in range(row):
                x, y = i - row, board[i] - col
                if y == 0 or x == y or x == -y:
                    break
            else:
                board[row] = col
                queen(result, board, n, row + 1)
while True:
    try:
        n, res = int(input().strip()), []
        queen(res, [0 for _ in range(n)], n)
        print(len(res))
    except:
        break
全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务