[ create a new paste ] login | about

Link: http://codepad.org/f7JQm3CK    [ raw code | output | fork ]

Python, pasted on Nov 4:
1
2
3
4
5
6
7
8
9
10
11
12
13
def queens(size):
    def safe(x, y, x_, y_):
        return x != x_ and y != y_ and abs(x - x_) != abs(y - y_)
    def solve(y):
        return [[]] if y == 0 else \
                [[(x,y)] + qs
                 for qs in solve(y - 1)
                 for x in range(1, size + 1)
                 if all(safe(x, y, *pos) for pos in qs)]
    return solve(size)

for x in queens(8):
    print x


Output:
[(4, 8), (2, 7), (7, 6), (3, 5), (6, 4), (8, 3), (5, 2), (1, 1)]
[(5, 8), (2, 7), (4, 6), (7, 5), (3, 4), (8, 3), (6, 2), (1, 1)]
[(3, 8), (5, 7), (2, 6), (8, 5), (6, 4), (4, 3), (7, 2), (1, 1)]
[(3, 8), (6, 7), (4, 6), (2, 5), (8, 4), (5, 3), (7, 2), (1, 1)]
[(5, 8), (7, 7), (1, 6), (3, 5), (8, 4), (6, 3), (4, 2), (2, 1)]
[(4, 8), (6, 7), (8, 6), (3, 5), (1, 4), (7, 3), (5, 2), (2, 1)]
[(3, 8), (6, 7), (8, 6), (1, 5), (4, 4), (7, 3), (5, 2), (2, 1)]
[(5, 8), (3, 7), (8, 6), (4, 5), (7, 4), (1, 3), (6, 2), (2, 1)]
[(5, 8), (7, 7), (4, 6), (1, 5), (3, 4), (8, 3), (6, 2), (2, 1)]
[(4, 8), (1, 7), (5, 6), (8, 5), (6, 4), (3, 3), (7, 2), (2, 1)]
[(3, 8), (6, 7), (4, 6), (1, 5), (8, 4), (5, 3), (7, 2), (2, 1)]
[(4, 8), (7, 7), (5, 6), (3, 5), (1, 4), (6, 3), (8, 2), (2, 1)]
[(6, 8), (4, 7), (2, 6), (8, 5), (5, 4), (7, 3), (1, 2), (3, 1)]
[(6, 8), (4, 7), (7, 6), (1, 5), (8, 4), (2, 3), (5, 2), (3, 1)]
[(1, 8), (7, 7), (4, 6), (6, 5), (8, 4), (2, 3), (5, 2), (3, 1)]
[(6, 8), (8, 7), (2, 6), (4, 5), (1, 4), (7, 3), (5, 2), (3, 1)]
[(6, 8), (2, 7), (7, 6), (1, 5), (4, 4), (8, 3), (5, 2), (3, 1)]
[(4, 8), (7, 7), (1, 6), (8, 5), (5, 4), (2, 3), (6, 2), (3, 1)]
[(5, 8), (8, 7), (4, 6), (1, 5), (7, 4), (2, 3), (6, 2), (3, 1)]
[(4, 8), (8, 7), (1, 6), (5, 5), (7, 4), (2, 3), (6, 2), (3, 1)]
[(2, 8), (7, 7), (5, 6), (8, 5), (1, 4), (4, 3), (6, 2), (3, 1)]
[(1, 8), (7, 7), (5, 6), (8, 5), (2, 4), (4, 3), (6, 2), (3, 1)]
[(2, 8), (5, 7), (7, 6), (4, 5), (1, 4), (8, 3), (6, 2), (3, 1)]
[(4, 8), (2, 7), (7, 6), (5, 5), (1, 4), (8, 3), (6, 2), (3, 1)]
[(5, 8), (7, 7), (1, 6), (4, 5), (2, 4), (8, 3), (6, 2), (3, 1)]
[(6, 8), (4, 7), (1, 6), (5, 5), (8, 4), (2, 3), (7, 2), (3, 1)]
[(5, 8), (1, 7), (4, 6), (6, 5), (8, 4), (2, 3), (7, 2), (3, 1)]
[(5, 8), (2, 7), (6, 6), (1, 5), (7, 4), (4, 3), (8, 2), (3, 1)]
[(6, 8), (3, 7), (7, 6), (2, 5), (8, 4), (5, 3), (1, 2), (4, 1)]
[(2, 8), (7, 7), (3, 6), (6, 5), (8, 4), (5, 3), (1, 2), (4, 1)]
[(7, 8), (3, 7), (1, 6), (6, 5), (8, 4), (5, 3), (2, 2), (4, 1)]
[(5, 8), (1, 7), (8, 6), (6, 5), (3, 4), (7, 3), (2, 2), (4, 1)]
[(1, 8), (5, 7), (8, 6), (6, 5), (3, 4), (7, 3), (2, 2), (4, 1)]
[(3, 8), (6, 7), (8, 6), (1, 5), (5, 4), (7, 3), (2, 2), (4, 1)]
[(6, 8), (3, 7), (1, 6), (7, 5), (5, 4), (8, 3), (2, 2), (4, 1)]
[(7, 8), (5, 7), (3, 6), (1, 5), (6, 4), (8, 3), (2, 2), (4, 1)]
[(7, 8), (3, 7), (8, 6), (2, 5), (5, 4), (1, 3), (6, 2), (4, 1)]
[(5, 8), (3, 7), (1, 6), (7, 5), (2, 4), (8, 3), (6, 2), (4, 1)]
[(2, 8), (5, 7), (7, 6), (1, 5), (3, 4), (8, 3), (6, 2), (4, 1)]
[(3, 8), (6, 7), (2, 6), (5, 5), (8, 4), (1, 3), (7, 2), (4, 1)]
[(6, 8), (1, 7), (5, 6), (2, 5), (8, 4), (3, 3), (7, 2), (4, 1)]
[(8, 8), (3, 7), (1, 6), (6, 5), (2, 4), (5, 3), (7, 2), (4, 1)]
[(2, 8), (8, 7), (6, 6), (1, 5), (3, 4), (5, 3), (7, 2), (4, 1)]
[(5, 8), (7, 7), (2, 6), (6, 5), (3, 4), (1, 3), (8, 2), (4, 1)]
[(3, 8), (6, 7), (2, 6), (7, 5), (5, 4), (1, 3), (8, 2), (4, 1)]
[(6, 8), (2, 7), (7, 6), (1, 5), (3, 4), (5, 3), (8, 2), (4, 1)]
[(3, 8), (7, 7), (2, 6), (8, 5), (6, 4), (4, 3), (1, 2), (5, 1)]
[(6, 8), (3, 7), (7, 6), (2, 5), (4, 4), (8, 3), (1, 2), (5, 1)]
[(4, 8), (2, 7), (7, 6), (3, 5), (6, 4), (8, 3), (1, 2), (5, 1)]
[(7, 8), (1, 7), (3, 6), (8, 5), (6, 4), (4, 3), (2, 2), (5, 1)]
[(1, 8), (6, 7), (8, 6), (3, 5), (7, 4), (4, 3), (2, 2), (5, 1)]
[(3, 8), (8, 7), (4, 6), (7, 5), (1, 4), (6, 3), (2, 2), (5, 1)]
[(6, 8), (3, 7), (7, 6), (4, 5), (1, 4), (8, 3), (2, 2), (5, 1)]
[(7, 8), (4, 7), (2, 6), (8, 5), (6, 4), (1, 3), (3, 2), (5, 1)]
[(4, 8), (6, 7), (8, 6), (2, 5), (7, 4), (1, 3), (3, 2), (5, 1)]
[(2, 8), (6, 7), (1, 6), (7, 5), (4, 4), (8, 3), (3, 2), (5, 1)]
[(2, 8), (4, 7), (6, 6), (8, 5), (3, 4), (1, 3), (7, 2), (5, 1)]
[(3, 8), (6, 7), (8, 6), (2, 5), (4, 4), (1, 3), (7, 2), (5, 1)]
[(6, 8), (3, 7), (1, 6), (8, 5), (4, 4), (2, 3), (7, 2), (5, 1)]
[(8, 8), (4, 7), (1, 6), (3, 5), (6, 4), (2, 3), (7, 2), (5, 1)]
[(4, 8), (8, 7), (1, 6), (3, 5), (6, 4), (2, 3), (7, 2), (5, 1)]
[(2, 8), (6, 7), (8, 6), (3, 5), (1, 4), (4, 3), (7, 2), (5, 1)]
[(7, 8), (2, 7), (6, 6), (3, 5), (1, 4), (4, 3), (8, 2), (5, 1)]
[(3, 8), (6, 7), (2, 6), (7, 5), (1, 4), (4, 3), (8, 2), (5, 1)]
[(4, 8), (7, 7), (3, 6), (8, 5), (2, 4), (5, 3), (1, 2), (6, 1)]
[(4, 8), (8, 7), (5, 6), (3, 5), (1, 4), (7, 3), (2, 2), (6, 1)]
[(3, 8), (5, 7), (8, 6), (4, 5), (1, 4), (7, 3), (2, 2), (6, 1)]
[(4, 8), (2, 7), (8, 6), (5, 5), (7, 4), (1, 3), (3, 2), (6, 1)]
[(5, 8), (7, 7), (2, 6), (4, 5), (8, 4), (1, 3), (3, 2), (6, 1)]
[(7, 8), (4, 7), (2, 6), (5, 5), (8, 4), (1, 3), (3, 2), (6, 1)]
[(8, 8), (2, 7), (4, 6), (1, 5), (7, 4), (5, 3), (3, 2), (6, 1)]
[(7, 8), (2, 7), (4, 6), (1, 5), (8, 4), (5, 3), (3, 2), (6, 1)]
[(5, 8), (1, 7), (8, 6), (4, 5), (2, 4), (7, 3), (3, 2), (6, 1)]
[(4, 8), (1, 7), (5, 6), (8, 5), (2, 4), (7, 3), (3, 2), (6, 1)]
[(5, 8), (2, 7), (8, 6), (1, 5), (4, 4), (7, 3), (3, 2), (6, 1)]
[(3, 8), (7, 7), (2, 6), (8, 5), (5, 4), (1, 3), (4, 2), (6, 1)]
[(3, 8), (1, 7), (7, 6), (5, 5), (8, 4), (2, 3), (4, 2), (6, 1)]
[(8, 8), (2, 7), (5, 6), (3, 5), (1, 4), (7, 3), (4, 2), (6, 1)]
[(3, 8), (5, 7), (2, 6), (8, 5), (1, 4), (7, 3), (4, 2), (6, 1)]
[(3, 8), (5, 7), (7, 6), (1, 5), (4, 4), (2, 3), (8, 2), (6, 1)]
[(5, 8), (2, 7), (4, 6), (6, 5), (8, 4), (3, 3), (1, 2), (7, 1)]
[(6, 8), (3, 7), (5, 6), (8, 5), (1, 4), (4, 3), (2, 2), (7, 1)]
[(5, 8), (8, 7), (4, 6), (1, 5), (3, 4), (6, 3), (2, 2), (7, 1)]
[(4, 8), (2, 7), (5, 6), (8, 5), (6, 4), (1, 3), (3, 2), (7, 1)]
[(4, 8), (6, 7), (1, 6), (5, 5), (2, 4), (8, 3), (3, 2), (7, 1)]
[(6, 8), (3, 7), (1, 6), (8, 5), (5, 4), (2, 3), (4, 2), (7, 1)]
[(5, 8), (3, 7), (1, 6), (6, 5), (8, 4), (2, 3), (4, 2), (7, 1)]
[(4, 8), (2, 7), (8, 6), (6, 5), (1, 4), (3, 3), (5, 2), (7, 1)]
[(6, 8), (3, 7), (5, 6), (7, 5), (1, 4), (4, 3), (2, 2), (8, 1)]
[(6, 8), (4, 7), (7, 6), (1, 5), (3, 4), (5, 3), (2, 2), (8, 1)]
[(4, 8), (7, 7), (5, 6), (2, 5), (6, 4), (1, 3), (3, 2), (8, 1)]
[(5, 8), (7, 7), (2, 6), (6, 5), (3, 4), (1, 3), (4, 2), (8, 1)]


Create a new paste based on this one


Comments: