我正在尝试为global_cardinality
我的程序添加一个约束,并且在SICStus Prolog 的手册中写道:
global_cardinality(+Xs,+Vals)
global_cardinality(+Xs,+Vals,+Options)
其中 Xs = [X1,...,Xd] 是整数或域变量的列表,Vals = [K1-V1,...,Kn-Vn] 是对的列表,其中每个键 Ki 都是唯一的整数Vi 是域变量或整数。如果 Xs 的每个元素都等于某个键,并且对于每对 Ki-Vi,则 Xs 的 Vi 元素恰好等于 Ki。
现在我可以写:
global_cardinality([A,B,C], [1-2, 2-1]).
说这个号码1
会被使用两次。该号码2
将只使用一次。
但我想说的是,1
将使用该数字:once, twice or three times
根据手册,我需要一个域变量,但正确的语法是什么?