2025 - Day 1 part 2 - rust
Some checks reported errors
continuous-integration/drone/push Build encountered an error

This commit is contained in:
kleph 2025-12-02 01:59:05 +01:00
parent e1fa29815d
commit 0ac8fa9f18

42
2025/rust1_2/src/main.rs Normal file
View file

@ -0,0 +1,42 @@
use std::fs::File;
use std::io::{BufRead, BufReader};
fn main() {
// let filename = "../1/input_example.txt";
let filename = "../1/input.txt";
let file = BufReader::new(File::open(filename).expect("Unable to open file"));
let mut dial: i32 = 50;
let mut count: i32 = 0;
for line in file.lines() {
let mut wline: String = line.unwrap();
let direction = wline.chars().next().unwrap();
wline.remove(0);
let distance: i32 = wline.parse().unwrap();
let was_zero: i32;
if direction == 'L' {
if dial == 0 {
was_zero = 0;
} else {
was_zero = 1;
}
dial -= distance;
if dial <= 0 {
count += (dial / 100).abs() + was_zero;
}
println!("Left distance={} dial={} count={}", distance, dial, count);
} else {
dial += distance;
if dial > 99 {
count += dial / 100;
}
println!("Right distance={} dial={} count={}", distance, dial, count);
}
dial = dial.rem_euclid(100)
}
println!("count: {}\n", count)
}