From 1f2d6a2d01dca121320bbe2b1cf868a97e78cd96 Mon Sep 17 00:00:00 2001 From: Rakarake Date: Mon, 1 Dec 2025 14:04:09 +0100 Subject: [PATCH] progress --- aoc2025/day1.rs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/aoc2025/day1.rs b/aoc2025/day1.rs index 6022f38..03d410e 100644 --- a/aoc2025/day1.rs +++ b/aoc2025/day1.rs @@ -30,28 +30,37 @@ fn parse(input: &str) -> Vec { }).collect() } -pub fn part1() -> u32 { +fn gaby() -> (u32, u32) { let input = &load_string("inputs/2025/day1.input"); //let input = TEST_INPUT; let mut current_rotation = START; - let mut result: u32 = 0; + let mut result_part1: u32 = 0; + let mut result_part2: u32 = 0; for roation in parse(input).iter() { match roation { Rotation::Left(amount) => { // overflows to the left - current_rotation = (((current_rotation as i32) - *amount as i32).rem_euclid(100)) as u32; + let new = (current_rotation as i32) - *amount as i32; + current_rotation = new.rem_euclid(100) as u32; + result_part2 += ((new.abs() + if new < 0 {100} else {0}) / 100) as u32; }, Rotation::Right(amount) => { // overflows to the right - current_rotation = (((current_rotation as i32) + *amount as i32).rem_euclid(100)) as u32; + let new = (current_rotation as i32) + *amount as i32; + current_rotation = new.rem_euclid(100) as u32; + result_part2 += (new / 100) as u32; }, } if current_rotation == 0 { - result += 1; + result_part1 += 1; } } - result + (result_part1, result_part2) +} + +pub fn part1() -> u32 { + gaby().0 } pub fn part2() -> u32 { - 0 + gaby().1 }