All pastes #747362 Raw Edit

rvsjoen

public text v1 · immutable
·published 2007-10-23 23:16 UTC
rendered paste body
clear_check(_, []).
clear_check(X/Y, [X1/Y1 | Rest]) :-
	X =\= X1,
	Y =\= Y1,
	abs(Y1-Y) =\= abs(X1-X),
	clear_check(X/Y, Rest).

legal([]).
legal([X/Y | Rest]) :-
	legal(Rest),
	member(X,[1,2,3,4,5,6,7,8]),
	member(Y,[1,2,3,4,5,6,7,8]),
	clear_check(X/Y, Rest).

solution(X) :- X = [_,_,_,_,_,_,_,_], legal(X).