Updated logger
This commit is contained in:
parent
cde55316ac
commit
f8e9aaf818
|
|
@ -2,7 +2,7 @@ use super::utils::Part;
|
|||
|
||||
use regex::Regex;
|
||||
use std::ops::Range;
|
||||
use log::debug;
|
||||
use log::{debug, trace};
|
||||
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
@ -52,6 +52,7 @@ pub fn solve(input: Vec<String>, part: Part) -> u32 {
|
|||
|
||||
|
||||
for (i, line) in input.iter().enumerate() {
|
||||
dataset.push(line.chars().collect());
|
||||
for capture in regex.captures_iter(line) {
|
||||
if let Some(capture) = capture.get(0) {
|
||||
matches.push(Match {
|
||||
|
|
@ -63,33 +64,32 @@ pub fn solve(input: Vec<String>, part: Part) -> u32 {
|
|||
});
|
||||
}
|
||||
}
|
||||
dataset.push(line.chars().collect());
|
||||
}
|
||||
|
||||
let max_x = dataset.first().unwrap().len() - 1;
|
||||
let max_x = dataset.first().unwrap().len();
|
||||
for mut item in &mut matches {
|
||||
let range = (item.range.start.saturating_sub(1))..(max_x.min(item.range.end+1));
|
||||
let mut b1 = false;
|
||||
let mut b3 = false;
|
||||
|
||||
debug!("Checking for {}", item.value);
|
||||
debug!("Checking for {} [{}-{}/{}]", item.value, range.start, range.end, max_x);
|
||||
if item.line >= 1 {
|
||||
|
||||
b1 = is_symbol(dataset.get(item.line-1).unwrap(), range.to_owned());
|
||||
item.gears.append(&mut find_gears(dataset.get(item.line-1).unwrap(), range.to_owned(), item.line-1));
|
||||
|
||||
debug!("\tChecking line #{} - {}\t'{:?}'", item.line-1, b1, &dataset.get(item.line-1).unwrap()[range.to_owned()]);
|
||||
debug!("Checking line #{} - {}\t{}", item.line-1, b1, &dataset.get(item.line-1).unwrap()[range.to_owned()].iter().collect::<String>());
|
||||
}
|
||||
|
||||
let b2 = is_symbol(dataset.get(item.line).unwrap(), range.to_owned());
|
||||
item.gears.append(&mut find_gears(dataset.get(item.line).unwrap(), range.to_owned(), item.line));
|
||||
debug!("\tChecking line #{} - {}\t'{:?}'", item.line, b2, &dataset.get(item.line).unwrap()[range.to_owned()]);
|
||||
debug!("Checking line #{} - {}\t{}", item.line, b2, &dataset.get(item.line).unwrap()[range.to_owned()].iter().collect::<String>());
|
||||
|
||||
if item.line < dataset.len() - 1 {
|
||||
b3 = is_symbol(dataset.get(item.line+1).unwrap(), range.to_owned());
|
||||
item.gears.append(&mut find_gears(dataset.get(item.line+1).unwrap(), range.to_owned(), item.line+1));
|
||||
|
||||
debug!("\tChecking line #{} - {}\t'{:?}'", item.line+1, b1, &dataset.get(item.line+1).unwrap()[range.to_owned()]);
|
||||
debug!("Checking line #{} - {}\t{}", item.line+1, b3, &dataset.get(item.line+1).unwrap()[range.to_owned()].iter().collect::<String>());
|
||||
}
|
||||
|
||||
item.is_valid = b1 || b2 || b3;
|
||||
|
|
@ -107,7 +107,7 @@ pub fn solve(input: Vec<String>, part: Part) -> u32 {
|
|||
for gears_point in &item.gears {
|
||||
for other_match in &matches[(i+1)..] {
|
||||
if other_match.gears.contains(gears_point) {
|
||||
debug!("Match gear at {:?} -> {} * {}", gears_point, item.value, other_match.value);
|
||||
trace!("Match gear at {:?} -> {} * {}", gears_point, item.value, other_match.value);
|
||||
sum_gears += item.value * other_match.value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue