summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcurly <curly@infernal.garden>2023-12-03 18:21:59 -0700
committercurly <curly@infernal.garden>2023-12-03 18:21:59 -0700
commit67441a4bc8728564e32892c29d86d97fa2496a84 (patch)
tree777cc3e06b0e82f1d9657bc14b98d0e247fab1e2 /src
parent9be0f0c630af6aa91b679a09f19aaa6f505c0215 (diff)
downloadaoc23-02-master.tar.gz
aoc23-02-master.tar.bz2
aoc23-02-master.zip
part twoHEADmaster
Diffstat (limited to 'src')
-rw-r--r--src/main.rs30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index b2c7486..ec85843 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -13,6 +13,7 @@ const BLUEMAX: u32 = 14;
fn main() {
let f = fs::read_to_string("input").unwrap();
let mut count = 0;
+ let mut count2 = 0;
for line in f.split("\n") {
@@ -54,6 +55,10 @@ fn main() {
// println!("process data");
let mut failed = false;
let mut game = 0;
+ let mut red = 0;
+ let mut green = 0;
+ let mut blue = 0;
+
for entry in data {
game = entry.0;
@@ -61,33 +66,48 @@ fn main() {
for e in entry.1 {
match e.1 {
Color::Blue => {
+ if e.0 > blue {
+ // println!("{}", e.0);
+ blue = e.0;
+ }
+
if e.0 > BLUEMAX {
failed = true;
- continue;
}
},
Color::Green => {
+ if e.0 > green {
+ green = e.0;
+ }
+
if e.0 > GREENMAX {
failed = true;
- continue;
}
},
Color::Red => {
+ if e.0 > red {
+ red = e.0;
+ }
+
if e.0 > REDMAX {
+
failed = true;
- continue;
}
},
}
}
}
+ // println!("{}", red * green * blue);
+ count2 += red * green * blue;
+
if failed == false {
// println!("one");
count += game;
}
- // println!("{}\n", count);
+ println!("\n");
}
- println!("{}", count);
+ println!("\npart one:{}", count);
+ println!("part two:{}", count2);
}