diff --git a/src/prob8.rs b/src/prob8.rs index 3b68829..3c423f2 100644 --- a/src/prob8.rs +++ b/src/prob8.rs @@ -1,5 +1,5 @@ -use petgraph::prelude::*; use petgraph::matrix_graph::MatrixGraph; +use petgraph::prelude::*; pub fn solve_part1(content: &str) -> color_eyre::Result { let (n_line, numbers) = { @@ -26,6 +26,24 @@ pub fn solve_part1(content: &str) -> color_eyre::Result { for i in 0..m_element { let idx = j * m_element + i; idx_slice[idx] = graph.add_node(num_slice[idx]); + if (i as i64 - 1) >= 0 { + let previous_same_row = idx - 1; + graph.add_edge(idx_slice[idx], idx_slice[previous_same_row], num_slice[idx]); + graph.add_edge( + idx_slice[previous_same_row], + idx_slice[idx], + num_slice[previous_same_row], + ); + } + if (j as i64 - 1) >= 0 { + let previous_same_col = idx - m_element; + graph.add_edge(idx_slice[idx], idx_slice[previous_same_col], num_slice[idx]); + graph.add_edge( + idx_slice[previous_same_col], + idx_slice[idx], + num_slice[previous_same_col], + ); + } } }