diff --git a/2025/day1/src/main.rs b/2025/day1/src/main.rs index 746e3a9..d66040d 100644 --- a/2025/day1/src/main.rs +++ b/2025/day1/src/main.rs @@ -1,9 +1,12 @@ use std::fs; +use std::io; +use std::io::Write; const FILE_PATH: &str = "./src/input.txt"; fn main() { first(); + println!(); second(); } @@ -45,21 +48,35 @@ fn second() { let mut result = 0; let mut starting_value: i32 = 50; + let mut previous_zero: bool = false; for line in contents.lines() { let direction: char = line.chars().nth(0).unwrap(); let value: i32 = line.chars().skip(1).collect::().parse().unwrap(); - starting_value += if direction == 'R' { value } else if direction == 'L' { -value } else { 0 }; - while starting_value > 99 { - starting_value -= 100 - } - while starting_value < 0 { - starting_value += 100 - } + if starting_value == 0 { result += 1; + previous_zero = true; + print!("**"); + io::stdout().flush().unwrap(); + } else { + // println!("Starting calculations with {starting_value}"); + while starting_value > 99 { + result += 1; + starting_value -= 100; + print!("*"); + io::stdout().flush().unwrap(); + } + while starting_value < 0 { + result += 1; + starting_value += 100; + print!("*"); + io::stdout().flush().unwrap(); + } + if previous_zero { result -= 1; } + previous_zero = false; } - println!("Line: {line} ({starting_value}, {result})"); + println!("Line: {line} (v: {starting_value}, r: {result})"); } println!("Result: {result}");