From 47c0f0bf76418d7f73a4114c8d1dda43fc4bfb1f Mon Sep 17 00:00:00 2001 From: Pcornat Date: Thu, 5 Oct 2023 23:08:20 +0200 Subject: [PATCH] Vertices added to graph --- src/prob8.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/prob8.rs b/src/prob8.rs index e69de29..3b68829 100644 --- a/src/prob8.rs +++ b/src/prob8.rs @@ -0,0 +1,33 @@ +use petgraph::prelude::*; +use petgraph::matrix_graph::MatrixGraph; + +pub fn solve_part1(content: &str) -> color_eyre::Result { + let (n_line, numbers) = { + let mut num_rows = 0_usize; + let mut inner_number = Vec::::new(); + content.lines().for_each(|line| { + let mut line_numbers = line + .chars() + .map(|c| c.to_digit(10).unwrap()) + .collect::>(); + inner_number.append(&mut line_numbers); + num_rows += 1; + }); + (num_rows, inner_number) + }; + let m_element = numbers.len() / n_line; + let _visible_border = (m_element + n_line) * 2 - 4; + + let num_slice = numbers.as_slice(); + let mut node_indices = vec![NodeIndex::::default(); num_slice.len()]; + let idx_slice = node_indices.as_mut_slice(); + let mut graph = MatrixGraph::::with_capacity(m_element * n_line); + for j in 0..n_line { + for i in 0..m_element { + let idx = j * m_element + i; + idx_slice[idx] = graph.add_node(num_slice[idx]); + } + } + + Ok(0) +}