%三种动作变体。我有3只动物,它可以在飞机上开车,开车或错过%步。我知道,在第一步猴骑在飞机上,狼骑在车上。在第二步%狼步乘坐飞机。我们需要知道仍然存在的依据。并且每只动物只能按时间乘坐每辆车
action(plane).
action(car).
action(shift).
%我宣布乘客是我的功能解决
solve([passenger(monkey, [X1,X2,X3]), passenger(wolf, [Y1, Y2,Y3]),
passenger(hippo, [Z1, Z2, Z3])]):-
action(X1), action(Y1), action(Z1), unique([X1, Y1, Z1]),
action(X2), action(Y2), action(Z2), unique([X2, Y2, Z2]),
action(X3), action(Y3), action(Z3), unique([X3, Y3, Z3]),
unique([X1, X2, X3]), unique([Y1, Y2, Y3]), unique([Z1, Z2, Z3]),
X1 = plane, Y1 = car,
Y2 = plane.
答案 0 :(得分:2)
可能unique/1
可能完全不同:
unique([]).
unique([E|Es]) :-
maplist(dif(E), Es),
unique(Es).