Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. -module(queens).
  2. -export([queens/1]).
  3.  
  4. queens(0) ->
  5. [[]];
  6. queens(N) ->
  7. [ [Row | Columns] || Columns <- queens(N-1),
  8. Row <- [1,2,3,4,5,6,7,8] -- Columns, % -- returns the list difference
  9. safe(Row, Columns, 1) ].
  10.  
  11. safe(_Row, [], _N) ->
  12. true;
  13. safe(Row, [Column|Columns], N) ->
  14. (Row /= Column + N) andalso (Row /= Column - N) andalso
  15. safe(Row, Columns, (N+1)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement