import static choco.Choco.*; import choco.cp.model.CPModel; import choco.cp.solver.CPSolver; import choco.cp.solver.search.integer.varselector.StaticVarOrder; import choco.kernel.model.Model; import choco.kernel.solver.Solver; import choco.kernel.model.variables.integer.IntegerVariable; import choco.kernel.solver.variables.integer.IntDomainVar; public class SteinerTriple01 { public static void main(String[] args) { CPModel model = new CPModel(); int m = Integer.parseInt(args[0]); // # points int n = m*(m-1)/6; // # blocks IntegerVariable[][] block = makeIntVarArray("block",n,m,0,1); // // block[i] is the ith block // block[i][j] = 1 <-> point j is in ith block // for (int i=0;i