nnikif

Untitled

Apr 5th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. def conflict(state, nextX):
  2.     nextY = len(state)
  3.     for i in range(nextY):
  4.         if abs(state[i] - nextX) in (0, nextY - i):
  5.             return True
  6.     return False
  7.  
  8. def queens(num, state=[]):
  9.     for pos in range(num):
  10.         if not conflict(state, pos):
  11.             if len(state) == num-1:
  12.                 yield [pos]
  13.             else:
  14.                 for result in queens(num, state +[pos]):
  15.                     yield [pos] + result
Advertisement
Add Comment
Please, Sign In to add comment