N-Queens Problem
queens(N):-
length(List,N),
List in 1..N,
constrain_queens(List),
labeling(List),
write(List),nl.
constrain_queens([]).
constrain_queens([X|Y]):-
safe(X,Y,1),
constrain_queens(Y).
safe(_,[],_).
safe(X,[Y|T],K):-
noattack(X,Y,K),
K1 is K+1,
safe(X,T,K1).
noattack(X,Y,K):-
X #\= Y,
X+K #\= Y,
X-K #\= Y.
Previous slide
Next slide
Back to first slide
View graphic version