defn_queens(n):
data =[[0for _ inrange(n)]for _ inrange(n)]
selected =[{'x': _,'y':-1}for _ inrange(n)]
number =0
all_result =[]
find(n, data, selected, number,0, all_result)return all_result
deffind(n, data, selected, number, i, all_result):if i == n:
result =[]for i inrange(n):
string =""for j in data[i]:if j ==1:
string +="Q"else:
string +="."
result.append(string)
all_result.append(result)returnfor j inrange(n):
flag =Truefor item inrange(number):
x = selected[item]['x']
y = selected[item]['y']if j == y or x + y == i + j or x - y == i - j:
flag =Falsebreakif flag:
data[i][j]=1
selected[i]['y']= j
number +=1
find(n, data, selected, number, i +1, all_result)
data[i][j]=0
selected[i]['y']=-1
number -=1
x = n_queens(int(input()))print(x)
n皇后问题代码代码def n_queens(n): data = [[0 for _ in range(n)] for _ in range(n)] selected = [{'x': _, 'y': -1} for _ in range(n)] number = 0 all_result = [] find(n, data, selected, number, 0, all_result) return all_resultdef find(n,