Download or view constraintNQueens.frink in plain text format
/** This is a tester for Frink's constraint solver for the n-queens problem. */
n = 10
if length[ARGS] > 0 // Parse command-line argument
n = parseInt[ARGS@0]
solver = newJava["frink.constraint.ConstraintSolver"]
q = new array
for i = 0 to n-1
q@i = solver.makeIntRangeVariable[0,n-1]
for i = 0 to n-2
{
for j = i+1 to n-1
{
// Queens not on
solver.notEqual[q@i, q@j, 0] // ... the same line
solver.notEqual[q@i, q@j, i-j] // ... the same left diagonal
solver.notEqual[q@i, q@j, j-i] // ... the same right diagonal
}
}
listener = newJava["frink.constraint.PrintingSolutionListener"]
//listener.setFirstOnly[true]
// Comment this in to find only one solution.
solver.solve[listener]
Download or view constraintNQueens.frink in plain text format
This is a program written in the programming language Frink.
For more information, view the Frink
Documentation or see More Sample Frink Programs.
Alan Eliasen was born 20217 days, 15 hours, 6 minutes ago.