this repo has no description
at develop 889 B view raw
1int: n; % number of queens 2set of int: ROW = 1..n; 3set of int: COL = 1..n; 4array[int] of int: q; % col of queen in each row 5 6test check(bool: b,string: s) = 7 if b then true else trace_stdout("ERROR: "++s++"\n",false) endif; 8 9output [ 10 if check(index_set(q)=1..n, "ERROR: array q should have index set 1..\(n)") 11 /\ forall(i in 1..n)(check(q[i] in 1..n, "ERROR: q[\(i)] should have a value in 1..\(n)")) 12 /\ forall(r1, r2 in 1..n where r1 < r2) 13 (check(q[r1] != q[r2], 14 "queens in rows \(r1) and \(r2) are on same column\n") 15 /\ 16 check(q[r1]+r1 != q[r2]+r2, 17 "queens in rows \(r1) and \(r2) are on same up diagonal\n") 18 /\ 19 check(q[r1]-r1 != q[r2]-r2, 20 "queens in rows \(r1) and \(r2) are on same down diagonal\n") 21 ) 22 then "CORRECT: All constraints hold" 23 else "INCORRECT" endif ];