Vertices added to graph
This commit is contained in:
parent
50398677e8
commit
47c0f0bf76
1 changed files with 33 additions and 0 deletions
33
src/prob8.rs
33
src/prob8.rs
|
@ -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)
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue