79628834

Date: 2025-05-19 13:30:47
Score: 0.5
Natty:
Report link

This is my proposal:

% --- facts
#const n=11.

seq_pos(1..n).
seq_val(0..n-1).
diff_val(1..n-1).

% --- choice rules
1 { seq(P,V) : seq_val(V) } 1 :- seq_pos(P).
diff(P,D) :- seq(P,V1), seq(P+1,V2), P < n, D = |V1 - V2|.

% --- constraints
:- seq(P1,V), seq(P2,V), P1 != P2.
:- diff_val(D), not diff(_,D).

% --- output
#show seq/2.

Output:

clingo version 5.7.2 (6bd7584d)
Reading from stdin
Solving...
Answer: 1
seq(1,5) seq(2,8) seq(3,3) seq(4,7) seq(5,6) seq(6,0) seq(7,10) seq(8,1) seq(9,9) seq(10,2) seq(11,4)
SATISFIABLE

Models       : 1+
Calls        : 1
Time         : 0.085s (Solving: 0.01s 1st Model: 0.01s Unsat: 0.00s)
CPU Time     : 0.000s

.

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: Anonymous