1use exact_cover::{Problem, Solver, SolverEvent};
2
3fn main() {
4 let mut prob = Problem::default();
5 prob.add_constraints(1..=3);
6 prob.add_subset("A", vec![1, 2, 3]);
7 prob.add_subset("B", vec![1]);
8 prob.add_subset("C", vec![2]);
9 prob.add_subset("D", vec![3]);
10 prob.add_subset("E", vec![1, 2]);
11 prob.add_subset("F", vec![2, 3]);
12
13 let mut solver = Solver::new(prob);
14 let mut solutions = vec![];
15 solver.run();
16
17 for event in solver {
18 if let SolverEvent::SolutionFound(sol) = event {
19 solutions.push(sol);
20 }
21 }
22
23 println!("{:?}", solutions);
24}