clean up 14

This commit is contained in:
timeshifter
2026-06-23 19:06:56 +02:00
parent e31809a3b0
commit 0bc2267397
+10 -17
View File
@@ -18,12 +18,7 @@ fn part2(data: &[Reindeer]) {
race.tick();
}
let result = race
.participants
.iter()
.map(|p| p.reindeer.points)
.max()
.unwrap();
let result = race.participants.iter().map(|p| p.points).max().unwrap();
println!("{result}");
}
@@ -37,7 +32,7 @@ fn part1(data: &[Reindeer]) {
let result = race
.participants
.iter()
.map(|p| p.reindeer.distance_travelled)
.map(|p| p.distance_travelled)
.max()
.unwrap();
println!("{result}");
@@ -63,7 +58,7 @@ impl Race {
self.clock += 1;
for p in &mut self.participants {
if p.state == Flying {
p.reindeer.distance_travelled += p.reindeer.speed;
p.distance_travelled += p.reindeer.speed;
p.current_activity_time += 1;
if p.current_activity_time == p.reindeer.fly_time {
p.current_activity_time = 0;
@@ -80,12 +75,12 @@ impl Race {
let max_distance = self
.participants
.iter()
.map(|p| p.reindeer.distance_travelled)
.map(|p| p.distance_travelled)
.max()
.unwrap();
for p in &mut self.participants {
if p.reindeer.distance_travelled == max_distance {
p.reindeer.points += 1;
if p.distance_travelled == max_distance {
p.points += 1;
}
}
}
@@ -96,6 +91,8 @@ struct Participant {
pub reindeer: Reindeer,
pub state: State,
pub current_activity_time: usize,
pub distance_travelled: usize,
pub points: usize,
}
impl Participant {
@@ -104,6 +101,8 @@ impl Participant {
reindeer: r,
state: State::Flying,
current_activity_time: 0,
distance_travelled: 0,
points: 0,
}
}
}
@@ -119,8 +118,6 @@ struct Reindeer {
pub speed: usize,
pub fly_time: usize,
pub rest_time: usize,
pub distance_travelled: usize,
pub points: usize,
}
impl Reindeer {
@@ -130,15 +127,11 @@ impl Reindeer {
let speed = iter.nth(3).unwrap().parse().unwrap();
let fly_time = iter.nth(2).unwrap().parse().unwrap();
let rest_time = iter.nth_back(1).unwrap().parse().unwrap();
let distance_travelled = 0;
let points = 0;
Self {
speed,
fly_time,
rest_time,
distance_travelled,
points,
}
}
}