simple/
simple.rs

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}