1use graph_solver::*;
2
3const EDGE: Color = 2;
5
6fn main() {
7 let mut g = Graph::new();
8
9 let edge = Constraint {edge: EDGE, node: 0};
10
11 let a = Node {
13 color: 0,
14 self_connected: false,
15 edges: vec![edge; 2],
16 };
17 let b = Node {
18 color: 0,
19 self_connected: false,
20 edges: vec![edge; 3]
21 };
22 let c = Node {
23 color: 0,
24 self_connected: false,
25 edges: vec![edge; 4]
26 };
27
28 for _ in 0..4 {g.push(a.clone())}
29 for _ in 0..4 {g.push(b.clone())}
30 g.push(c);
31 g.no_triangles = true;
32 g.meet_quad = true;
33
34 for i in 0..4 {g.set((i, 8), 1)}
35 g.set((1, 5), 1);
36
37 let solve_settings = SolveSettings::new();
38 if let Some(solution) = g.solve(solve_settings) {
39 println!("{}", solution.puzzle.graphviz(
41 "sfdp",
42 &["black,fontcolor=white"],
43 &["black"]
44 ));
45 } else {
46 eprintln!("<no solution>");
47 }
48}