求解八皇后问题的Python代码
#to check if the queen is at the valid place
def check_pos(loop, value):
for index in range(loop):
data = EQ[index]
if value == data:
return False
if (index + data) == (loop + value):
return False
if (index - data) == (loop - value):
return False
return True
#to place the queen
def eight_queen(index):
for loop in range(8):
if(check_pos(index, loop) == True):
EQ[index] = loop
if(index == 7):
print(EQ)
EQ[index] = 0;
return
eight_queen(index + 1)
EQ[index] = 0
EQ = list(range(8))
eight_queen(0)