summaryrefslogtreecommitdiff
path: root/2024
diff options
context:
space:
mode:
Diffstat (limited to '2024')
-rw-r--r--2024/1/p2.rs2
-rw-r--r--2024/2/p1.rs14
-rw-r--r--2024/2/p2.rs16
3 files changed, 20 insertions, 12 deletions
diff --git a/2024/1/p2.rs b/2024/1/p2.rs
index 41eeea4..ebaa4db 100644
--- a/2024/1/p2.rs
+++ b/2024/1/p2.rs
@@ -13,7 +13,7 @@ fn main() {
let r: u32 = fields.next().expect(e).parse().expect(e);
match right.get(&r) {
None => right.insert(r, 1),
- Some(v) => right.insert(r, v+1),
+ Some(v) => right.insert(r, v + 1),
};
}
diff --git a/2024/2/p1.rs b/2024/2/p1.rs
index 4e4df46..7c0abe3 100644
--- a/2024/2/p1.rs
+++ b/2024/2/p1.rs
@@ -10,9 +10,11 @@ use Direction::*;
fn is_safe(levels: &[u32]) -> bool {
let mut direction = Unknown;
- for i in 0..levels.len()-1 {
- let [x, y] = levels[i..=i+1] else { panic!("unreachable") };
- let (diff, d) = if x > y { (x-y, Down) } else { (y-x, Up) };
+ for i in 0..levels.len() - 1 {
+ let [x, y] = levels[i..=i + 1] else {
+ unreachable!()
+ };
+ let (diff, d) = if x > y { (x - y, Down) } else { (y - x, Up) };
if direction == Unknown {
direction = d;
}
@@ -28,8 +30,10 @@ fn main() {
let mut total = 0;
for report in input.lines() {
- let levels: Vec<u32> =
- report.split_whitespace().map(|l| l.parse().unwrap()).collect();
+ let levels: Vec<u32> = report
+ .split_whitespace()
+ .map(|l| l.parse().unwrap())
+ .collect();
if is_safe(&levels) {
total += 1;
}
diff --git a/2024/2/p2.rs b/2024/2/p2.rs
index d21f102..78224c4 100644
--- a/2024/2/p2.rs
+++ b/2024/2/p2.rs
@@ -10,10 +10,12 @@ use Direction::*;
fn is_safe(levels: &[u32]) -> bool {
let mut direction = Unknown;
- for i in 0..levels.len()-1 {
- let [x, y] = levels[i..=i+1] else { panic!("unreachable") };
- let (diff, d) = if x > y { (x-y, Down) } else { (y-x, Up) };
- if direction == Unknown {
+ for i in 0..levels.len() - 1 {
+ let [x, y] = levels[i..=i + 1] else {
+ unreachable!()
+ };
+ let (diff, d) = if x > y { (x - y, Down) } else { (y - x, Up) };
+ if let Unknown = direction {
direction = d;
}
if diff == 0 || diff > 3 || direction != d {
@@ -39,8 +41,10 @@ fn main() {
let mut total = 0;
for report in input.lines() {
- let levels: Vec<u32> =
- report.split_whitespace().map(|l| l.parse().unwrap()).collect();
+ let levels: Vec<u32> = report
+ .split_whitespace()
+ .map(|l| l.parse().unwrap())
+ .collect();
if is_safe(&levels) || is_safe_with_dampener(&levels) {
total += 1;
}