| 303 | class KnightsCircuit : public Knights { |
| 304 | public: |
| 305 | KnightsCircuit(const SizeOptions& opt) : Knights(opt) { |
| 306 | // Fix the first move |
| 307 | rel(*this, succ[0], IRT_EQ, f(1,2)); |
| 308 | |
| 309 | circuit(*this, succ, opt.ipl()); |
| 310 | |
| 311 | for (int f = 0; f < n*n; f++) |
| 312 | dom(*this, succ[f], neighbors(f)); |
| 313 | } |
| 314 | /// Constructor for cloning \a s |
| 315 | KnightsCircuit(KnightsCircuit& s) : Knights(s) {} |
| 316 | /// Copy during cloning |