I'm trying to make a solution for the n queens problem and I want to make a code writing a number of possible solutions for a n X n board and n queens. Here is my code: n = int(input()) piony = [[False for i in range(n)] for j in range(n)] skosy_lp = [[False for i in range(n)] for j in range(n)] skosy_pl = [[False for i in range(n)] for j in range(n)] figury = [-1] * n counter = 0 layer = 0 #list creating etc. piony list is containing vertical lines occupied by queens, skosy_lp #is containing lines oblique from left to right, skosy_pl - from right to left. #this is a backtracking algorithm #figury list is containing positions of queens. -1 means that the queen isn't placed while True: if layer == -1: break piony[layer] = piony[layer-1] skosy_pl[layer] = skosy_pl[layer-1] skosy_pl[layer].append(False) skosy_pl[layer].pop(0) skosy_lp[layer] = skosy_lp[layer-1] skosy_lp[layer].insert(0, False) skosy_lp[layer].pop(n) figury[layer]+=1
A site where you can share knowledge