From 7e4982be44b980ccbe00c88a66abd773dba62f1a Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Tue, 1 Jul 2025 14:35:03 +0200 Subject: Day 13 2022 --- 2022/13/b.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2022/13/b.rs (limited to '2022/13/b.rs') diff --git a/2022/13/b.rs b/2022/13/b.rs new file mode 100644 index 0000000..baaad3f --- /dev/null +++ b/2022/13/b.rs @@ -0,0 +1,26 @@ +use std::cmp::Ordering; +mod common; +use common::*; + +fn driver(n: i64) -> Packet { + Packet::List(vec![Packet::List(vec![Packet::Number(n)])]) +} + +fn find_driver(v: &Vec, n: i64) -> usize { + v.iter() + .position(|p| compare(p, &driver(n)) == Ordering::Equal) + .unwrap() + 1 +} + +fn main() { + let mut v = vec![driver(2), driver(6)]; + let mut line = String::new(); + while std::io::stdin().read_line(&mut line).unwrap() > 0 { + if line.len() > 1 { v.push(parse(line.as_bytes())); } + line.clear(); + } + + v.sort_by(compare); + + println!("{}", find_driver(&v, 2) * find_driver(&v, 6)); +} -- cgit v1.3