Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :- use_module(library(clpfd)).
- eightQueens(Queens) :-
- length(Queens, 8),
- Queens ins 1..8,
- canPlaceQueens(Queens).
- canPlaceQueens([]).
- canPlaceQueens([Queen|Queens]) :-
- arentThreatened(Queens,Queen,1),
- canPlaceQueens(Queens).
- arentThreatened([], _, _).
- arentThreatened([Queen|Queens], NewQueen, ColumnsApart) :-
- NewQueen #\= Queen,
- abs(Queen - NewQueen) #\= ColumnsApart, %%diagonallySafe
- NewApart #= ColumnsApart+1,
- arentThreatened(Queens, NewQueen, NewApart).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement