def run(size): status = Status(size, [[0 for x in range(size)] for y in range(size)]) queen = Queen(size) i = 1 check_set = 0 while True: check_set = queen.set_queen(status) if check_set == size: """print the combination, set queen postion value is y-dir value queen number decremented and go back to previous status as normal""" status.return_comb() status.stat_arr[queen.pos_y][queen.pos_x] = queen.pos_y queen.number -= 1 status.back_status(queen) elif check_set > 0: queen.move_queen(status) else: status.back_status(queen)