1
0
Fork 0

Vertices added to graph

This commit is contained in:
Pcornat 2023-10-05 23:08:20 +02:00
commit 47c0f0bf76
Signed by: Pcornat
GPG key ID: 2F3932FF46D9ECA0

View file

@ -0,0 +1,33 @@
use petgraph::prelude::*;
use petgraph::matrix_graph::MatrixGraph;
pub fn solve_part1(content: &str) -> color_eyre::Result<u32> {
let (n_line, numbers) = {
let mut num_rows = 0_usize;
let mut inner_number = Vec::<u32>::new();
content.lines().for_each(|line| {
let mut line_numbers = line
.chars()
.map(|c| c.to_digit(10).unwrap())
.collect::<Vec<u32>>();
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::<u16>::default(); num_slice.len()];
let idx_slice = node_indices.as_mut_slice();
let mut graph = MatrixGraph::<u32, u32, Directed>::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)
}