很容易看出来,在每一行和每一列上有且只能有一个皇后,因此较为复杂的判断就是对角线了.维基百科的页面上有一个非常暴力但是写起来非常简单的解法: 1 2 3 4 5 6 7 8 from itertools import permutations n = 8 cols = range(n) for vec in permutations(cols): if (n == len(set(vec[i] + i for i in cols)) == len(set(vec[i] - i for i in…