diff --git a/input/02.txt b/input/02.txt new file mode 100644 index 0000000..807fbce --- /dev/null +++ b/input/02.txt @@ -0,0 +1,2500 @@ +C Z +B Y +C X +B Z +C Y +B Y +C Z +C Z +B Y +B X +C Y +B Y +B Z +A Z +A Y +B X +C Y +C Z +B Z +A Y +C Y +C Z +A Y +C Z +B X +B Y +B Y +A Y +C Z +B Y +B Y +B Y +C Z +C Y +B X +C Y +A Z +C Y +B X +B Z +C Z +C Z +B X +A Y +A Y +C Z +C Z +C Z +B Y +C Y +B Y +C Z +C Z +A Z +B Y +C Y +B X +A Y +C Y +B Y +C Z +A Y +B Y +B Y +B Y +B Z +C Y +A X +C Y +B Y +C Z +A Z +B X +C Z +C X +A Y +C Y +B Z +C Y +C Z +B X +C Z +C Y +B Y +B Y +B Y +B Y +A Y +C Z +C Z +B Y +B Y +C Z +B Z +B Y +B Y +B Y +A Y +B Z +B Y +C Y +B X +B Y +B X +C Z +B X +C Y +B Z +C Z +C Z +B Y +B Z +C Z +B X +C Y +B Y +C Y +C Z +C Y +B Z +C Z +B X +B Y +C Y +B X +B Z +B Y +C Y +B X +C Y +C Z +B Y +B Y +B X +C Y +C Z +C Z +B X +C Y +C Z +B Y +B Z +C Y +C Y +C Z +C Y +C Z +B Y +B Y +C Z +C Y +C Y +C Y +B Y +B Y +A Y +C Z +B X +B Y +C Z +C Z +C Z +B Y +B Z +C Y +C X +B Y +C Z +C Z +B Y +C Z +C Z +C Z +B Z +C Y +B Y +B X +C Z +B X +B X +B Y +C Z +B X +C Z +B Z +C Z +B X +A Y +B X +A Y +A Y +A Z +C Y +B Z +B Z +B X +C Y +C Y +B Y +C Z +B X +C Z +B Y +B Z +C Z +C Z +B Y +C Y +B Y +C Y +A Y +C Z +C Y +C Y +B Y +B Z +C Y +B X +B Z +A Z +C Y +B X +B Y +B Y +B Y +B Z +C Z +A X +B Z +B X +C Y +B Z +B Y +A Y +C Z +B X +C Z +B Z +C Z +B Y +C Z +C Y +B X +C Z +C Y +B Y +C Z +C Y +C Z +C Y +B Z +A Y +B Y +B X +C Y +A X +C Z +A Y +C Z +B Y +C Z +B Y +C Z +B Y +B Y +B Y +B Y +A Y +C Z +B Y +A Z +B Z +C Y +B Y +B Z +A Y +C Z +B Y +B Y +C Z +A Z +B X +A Y +C Z +B Z +B Z +B Y +B X +A Y +B Y +A X +C X +B Z +B Y +C Y +C Z +C Y +C Z +B Y +B Z +C Y +A Z +C Y +C Y +C Y +A Z +C Y +C Z +C Z +C Z +C X +B Y +B Y +C Y +C Z +C Y +B Y +C Y +C Z +C Z +B Z +B Y +B Y +B Y +C Z +C Y +B X +C Y +B Z +B Y +B Y +B Y +C Y +C Y +C Z +C Z +C Y +B X +C Y +B Y +B Z +B Z +B Z +C Z +B X +C Y +C X +C Y +B X +C Z +A Y +A Y +B X +C Z +A Z +C Y +C Z +A Y +C Z +B Y +B Y +C Y +B Y +C Y +B Y +C Y +B Y +C Y +C Y +B Y +C Z +B Z +C Y +A Y +C Y +A Y +B X +C Y +A Y +B Z +B Y +C Y +B Y +C Y +B Y +C Y +C Z +C Y +C Z +B Y +C Y +C Z +B Y +B Z +C Y +A Y +C Z +C Z +C Z +B Z +C Y +A Y +B Z +A Y +B Y +C Y +C Z +C Y +A Y +B X +A Z +C Z +C Y +B X +C Z +A X +C Z +C Y +C Z +B Y +C Y +C Y +B Y +C Y +C Z +C Y +C Y +C Y +A Y +C Z +C Y +C Z +C Z +B X +A Y +B X +B Y +A Y +B Y +A Y +C Z +A Y +C Y +C Y +B Y +C Y +B Z +C Y +C Z +B Z +B Y +B X +B Y +B Y +C Y +C Y +B Y +B X +C Z +B X +B X +A Y +B Z +B X +A Y +C Y +C Y +B X +B Z +C Y +B Y +B X +B X +C Y +C Z +B Y +B Y +B Y +A Y +A Y +C Z +C Z +C Y +B X +C Y +C Y +B Z +B Z +A X +C Y +C Y +A Z +A Y +B X +B Y +C Y +B Y +C Z +B Y +C Y +B Y +C Z +C X +C Z +A Z +B X +A Z +C Z +B Y +C Y +B Z +C Y +B X +C Y +C Z +B Y +A Y +C Y +C Y +B Z +B Y +B X +C Z +B Y +C Y +C Y +C Y +A Z +B Y +B Y +C Y +B Y +C Z +B Y +C Y +B Y +C Z +B X +C Y +B Y +B X +C Y +C Z +C Y +B X +B Y +C Y +B Z +B X +C Y +B X +B Y +B Z +C Y +B Y +C Y +B Y +B Y +C Y +B Z +B Y +C Z +C Z +B X +A X +C Z +B Z +B Y +B X +C Z +C Z +B Z +A Z +B Y +C Y +C Z +C Y +C Y +C Y +C Z +B Y +B Y +C Y +C Z +C Z +C Y +C Y +C Z +B Y +C Y +B Y +B Y +A Y +C Y +A Y +C Z +C Y +C Z +C X +B X +C Z +A Y +B X +C Z +C Z +C Y +B Z +B Y +A Y +C Z +B X +B Y +B Z +B X +C Y +B Y +C Z +C Z +C Z +C Y +A Y +C Z +C Z +B Y +B Y +B Y +C Y +C Y +C Z +B X +C Y +C Y +C Y +B Y +C X +B Y +B Y +C Y +A Z +C Y +C Z +A Y +C Y +B Z +C Y +C Z +A X +B X +C Z +C Y +B Y +C Y +C Y +B Y +C Z +C X +C Y +C Y +B X +C Y +B Y +C Y +C Z +A Z +B X +B X +C Z +C Y +B Y +B Z +B Y +B Z +A X +B X +B X +B X +C Y +A X +C Z +C Z +B Y +B X +B Y +B Y +C Z +B Z +C Y +C Y +B X +B Z +C X +A X +B Y +C X +C X +B Y +C Z +C Z +C Z +B X +B Z +C Y +B Y +A Y +C Z +B Z +A Z +B X +B X +B X +B Y +B X +B X +B X +B Y +C Z +C Y +C Y +C Y +A Y +C Z +C Y +C Z +C Y +B Y +A X +A Z +A Z +C Z +B Z +B Z +B Y +C Z +B Y +B X +B Y +B Z +A Y +B Y +B Y +B Z +C Y +B Y +C Y +B Y +C Y +B Z +C Z +B Z +C Y +B Z +B Y +B Y +A Y +C Z +B Y +B X +B Y +B X +C Z +C Y +B Z +C Z +C Z +A Z +C Z +B X +C Z +C Z +C Z +C Y +B Y +B X +C Y +C Y +C Z +C Z +B X +C Y +C Z +B Z +A Y +A Y +B Y +C Y +B Z +A X +C X +C Y +A Y +B Z +B X +C Z +C Y +B Y +C Z +C Y +B Z +C Z +C Z +C Y +B X +C Z +C Y +B Y +C Y +C Y +C Z +B X +C Y +C Z +C Z +C Y +C Y +B Y +C Y +B X +C Z +B Z +B X +A Z +C Z +B Z +C Z +C Y +B X +C Z +A Z +A Y +A Y +C Y +B Y +B X +C Y +C Z +B X +A Y +B Y +B X +B X +C Y +B Y +C Y +C Z +B Y +B X +C Y +B Y +B X +A Y +B Y +B Y +C Y +A Y +B Y +A Z +C Z +A X +C Z +C X +C Z +C Z +C Y +B Z +B Z +A Z +A Y +B Y +B Y +C X +C Z +C Z +B Z +A X +C Y +C Z +A Y +A Y +B X +C Z +B Z +A X +C Z +C Y +B X +C Y +C Y +C Z +C Z +B X +C Z +A Y +B Y +B X +B Y +C Y +B X +C Y +B Y +A X +C Z +C Y +C Z +B Z +C Y +C Y +C Z +C Z +A Y +C Z +B Y +C Z +C Y +B Y +C Y +A Y +C Y +A Z +C Y +A Z +C Z +C Z +B Y +C Z +C Y +A Y +C Y +A Y +C Z +B Z +B Y +B Z +C Z +B Y +A Z +B Y +C Z +A Y +B Y +A Z +B X +B Z +B X +B Y +B Y +B Y +C Y +C Z +B Y +C X +B Y +A X +B Y +B Y +C Z +C Z +A X +C Z +C Y +C Z +B Y +B Y +B X +B X +A X +B X +B Y +B Y +C Z +B Z +B Y +B Y +B Z +B Y +C Z +C Z +B X +B Z +A Z +B Z +C Z +B Z +C Y +C Z +C Z +B X +C Y +C Y +B X +B Y +C Y +B Y +C Z +C Y +B Y +B X +A Z +C Z +C Y +C Y +B Z +B X +A Z +B Z +C Z +C Z +B X +B X +C Z +C Y +B Z +C Z +C Z +B X +C Y +C Y +B Y +C Y +B Z +C Z +A Y +B X +C Y +C Z +B Y +B X +B X +A Z +B Y +B Y +C Z +B X +A Y +A X +C Y +B Z +B X +A Y +B Y +B X +C Z +C Z +C Z +C Z +C Z +A Y +C Y +C Z +C Y +C Z +C Y +A Y +B Y +C Y +C Y +B Y +C Z +A X +B Y +C Y +C Z +B Y +C Z +B Y +A Z +B X +B X +A Y +B X +C Y +B Z +B Y +B Z +C Y +A Y +C Z +A Y +A Y +C Z +C Z +C Y +B X +A Y +C X +C Y +C X +C Z +B Y +B Y +C Z +B X +B Y +C Z +B X +C Z +C Z +B Y +A Y +B X +B Y +C Z +B Y +C Z +A Y +B X +C Z +C Y +A Y +C Z +A Y +C Y +A Y +C Z +B X +B Y +B Z +A Y +C Z +C Y +C Z +B Z +C Z +C Y +C Y +B Z +C Z +C Y +B X +B Y +A Y +A Y +B X +C Y +C Y +C Z +B Y +B Z +B X +B Y +B Y +B Z +B Y +B Y +B Z +B Y +B X +C Y +C Y +C Z +B X +C Z +C Y +A Y +C Y +C Z +B Y +A Z +C Y +C Z +B X +A Y +C Y +C Y +C Y +A Y +A Y +C Y +B X +C Z +A Y +C X +B Y +C Y +B Y +C Y +B Z +C Y +A Z +B Y +A Y +A Y +B X +B Y +B Y +B Y +C Y +B Z +C Z +B X +B X +B X +C Y +B X +C Z +B Z +C Z +B Y +C Y +C Z +C Y +C Y +B Y +B Y +B Z +B Y +C Z +B Y +B X +C Z +A Z +C Y +C Y +C Z +B Y +A Y +C Z +C Y +B Z +C Z +B Y +B Z +B X +C Y +B X +C Z +B Z +C Z +C Z +B Y +B X +B X +C X +C Z +C Z +A Y +C Z +C Y +C Y +C Y +C Z +C Y +B X +B X +B X +C X +C Y +B X +B X +B X +B Z +A Z +B X +C Y +B Y +C Z +A Z +B Y +B X +B Z +C Y +B Z +B Y +A Z +C Z +B Y +C Y +B Y +B X +C Y +A Z +C Z +C Y +B Y +B X +C Y +C Z +C Y +C Z +B Y +A Z +B Y +B X +C Y +C Y +A X +B X +C Y +C Z +A Z +C Z +C Y +C Z +B Y +B Y +C Z +A Y +C Z +B X +B X +B Y +B Y +B X +B X +B X +B Z +B X +A X +A Y +C Z +C Y +A Y +C Y +C Z +C Y +B Y +C Z +A Y +B X +B X +C Y +C Y +B Z +B Z +B Z +B Y +B Y +B Y +B Y +C Y +C Z +B Z +A Y +B Z +C Y +C Y +C Z +B X +A Y +C Y +B X +B Z +A Y +C Y +C Z +A X +C Z +B X +B X +B Z +A Y +C Z +B Z +C Z +A Y +A Y +B Y +B Y +A Y +C Y +A Y +B X +C Y +C Z +B Y +B Z +C Z +C Y +B Y +C Y +C Z +B Y +C Z +C Y +A Y +C Y +C Y +B X +C Y +B Y +B Y +B X +C Z +B Y +C Y +C Y +B Y +B Y +B Z +C Y +C Z +A X +C Z +C Y +C Y +C Y +B Z +C Y +C Y +C Y +A Y +C Y +A Y +C Y +C Y +C Y +C Y +C Y +C Y +A Z +B Z +B Y +C Z +B Y +C Z +B Y +C Z +B Y +C Z +C Z +C Z +C Y +C Z +B Y +B Y +C Y +C Z +B Z +C Y +A Y +C Y +C Z +C Y +C Y +A Z +B Y +C Y +B X +B Y +C Y +C Z +B Y +C Y +B X +B X +B Y +C Y +B Z +B Y +A Y +B Y +B Y +B X +C Z +B Z +B X +C Z +A Z +B Z +C Y +C Z +C Y +B X +C Y +C X +B Z +C Y +C Y +B Y +C X +B Y +C Z +A Z +C X +A Y +B Y +B Y +C Z +C Z +B Y +B Y +B Z +C Z +C Y +C Z +B X +A Z +C Y +C Y +B Z +B X +B Y +B X +A Z +C Y +B Y +C Z +A Y +B Z +C Y +B X +B X +B Y +B Y +B Z +B X +C Z +C Y +B X +B X +B X +B Y +B X +B X +B Y +B Y +B Y +C Y +A Z +C Z +C Y +B Y +B Y +B Z +C Z +C Y +C X +B Z +A X +C Y +B X +B Y +C Y +A X +C Y +C Y +B Y +B Y +B Y +A Z +C Y +C Y +A X +C Y +A Z +C Z +B X +A Y +C Z +B Z +B Y +B Y +C Y +B Y +C Z +B X +C Z +B X +A Y +C Z +C Y +B X +B Z +B Y +B X +C Y +C Z +C Z +A Z +B Z +B Z +C Z +C Y +C Z +C Y +B Z +B Y +B Y +C Y +C Z +C Y +C Y +C Z +A Y +B Y +A Z +B Z +C Z +B X +A Y +B Y +C Y +C Z +A Y +C Y +B Y +B X +C Y +B Y +C Y +A Y +C Y +B Y +B Z +C Z +B X +B X +C Z +C Y +C Z +B Y +C Y +B Y +B Y +C Z +C Y +A Z +B Z +B X +C Z +C X +C Z +B X +C Z +C Y +B X +B Y +B Y +C Z +C Z +C Z +B Y +B Y +A X +B X +C Z +C Y +C Z +B Y +C Y +B Y +C Y +C Z +C Z +C Y +C Y +B X +B Y +B Y +C Y +B Y +A Y +B Y +B Z +C Z +C Z +A Z +C Z +B Z +B Y +C Z +B Y +B X +B Y +A Y +A Y +B Y +C Y +B Z +B Y +B Y +B Y +B X +B X +B X +B Z +B Z +C Z +A X +C Z +B Y +C Z +A Y +C Z +C Y +A Y +B Z +B Y +C Z +B Y +B X +B Z +C Y +C Z +C Z +C Y +B X +B X +C Y +C Y +A Y +C Y +B Y +C Y +C Y +C Y +B X +C Z +B Y +C Z +B Y +B Y +A Y +B Y +C X +B Y +C Y +B Y +C Z +C Y +B X +B Y +C Y +B Y +B Z +B X +C Z +A X +C Y +C Y +B X +B Z +B X +C Y +C Y +A Y +B Y +C Y +C Z +B Y +B Y +B Z +A Y +B Z +B X +B Z +C Y +B Y +C Y +C Y +B X +B Y +A Y +C Y +C Z +C Y +B X +B X +C Y +B Y +A Z +C X +C Z +B Y +C Z +C Y +C Z +C Y +A Z +B Y +C Y +B Z +B Y +B X +B Y +B X +C Z +C Y +B Y +C Y +C Z +C Z +B Y +B X +C Y +C Y +B Y +B X +C Z +B X +C Z +C Y +B Y +C Y +C Z +C Y +B Y +C Z +A Z +A Y +C Y +A Y +C Y +B Y +B Y +B Y +C Y +C Z +C Y +C Y +B X +B X +C Y +B X +C Y +A Y +B Y +B Y +C Z +C Z +B X +C Z +C Z +B Y +C Z +C Z +B Z +B Z +C Y +A Z +C Z +C Z +B X +C Z +B Z +B Y +A Y +B X +B Z +A Y +B Y +B Y +B X +B Y +C Y +A Z +B Y +C Y +A Y +C Y +B Y +C Y +C Y +A Y +C Y +B Y +B Y +B Z +C Z +C Z +C Y +B Y +C Y +B Z +B X +C Y +C Y +B Y +B Z +B Y +A Y +A Y +A Z +C Y +B Y +B Y +C Z +C Z +C Y +C Z +C Y +B X +C Z +C Y +C Y +A Y +B Z +C Z +A Y +B Z +B Y +B Y +B Y +B Y +C Y +C Y +A Y +C Z +C Z +A Z +B Y +B X +B Z +A Z +C Z +B X +B Y +A X +C Y +B Z +A Y +C Z +C Y +A Y +B X +C Y +B X +C Z +B X +B Y +B X +A Z +B Y +C Z +C Y +B Y +A Y +B X +C Y +B Z +B X +A Z +A Y +C Y +C Z +C Y +B X +C Y +C Z +B Y +A Y +C Y +C Z +C X +B Y +C Y +B X +B Z +B Y +C Z +C Z +C Y +B X +C Y +B Z +C Z +C Y +C Y +C Y +C Z +C Y +B Y +C Y +A Y +C Y +B X +B Y +A X +B Y +B Y +B Y +A Y +B X +B Z +B Z +C Z +A Z +C X +B Z +B Y +C Y +C Z +B Z +B Y +B X +C Y +C X +C Y +C Z +A X +B X +B Y +B Y +C Z +B X +B Z +B X +B X +B Y +C Y +B Y +B Z +C Y +C Y +B Z +B Y +C Y +C Y +C Z +C Z +C Z +B Y +B Z +C Y +A Z +C X +B Y +C Y +C Y +B Y +C X +C Y +B Y +C Y +B Y +B Y +C Y +C Z +C Z +C Z +C Z +B X +C Z +C Z +B Y +C Y +A Z +B X +C Z +B Z +C Y +C Y +B Y +B Y +B Z +C Y +B Z +C Z +B Y +C Z +C Z +B X +B Z +C Y +C Y +C Z +B X +C Z +B X +C Y +C Y +B X +C Z +C Z +B Y +C Z +B Y +B Y +C Y +C Y +B Y +C Y +B Y +A Z +B Y +B Y +B Z +C Y +B Z +B Y +C Y +B X +B Z +B Z +C Y +C Z +C Z +B Z +C Y +B Y +C Z +B X +B X +C Z +B X +C Y +B Y +C Y +C Z +C Z +C Y +C Z +B Z +C Y +C Z +C X +B Z +B Y +A Z +C Z +A Y +C Z +B Z +B X +C Y +B X +C Y +C Z +C Z +B Y +B Y +B X +C Y +C Z +B X +C Y +C X +C Y +C Y +C Z +C Z +B X +C Z +B Y +C Y +B Y +B Y +B Y +B Z +C Z +A Y +B X +A X +A Z +C Z +A Z +B Z +C X +B Z +B X +B Y +B X +C Y +C Z +C Y +B X +B Y +B X +B Y +A Y +C Z +B Y +C X +B Y +B Y +A Z +B Y +C Z +C Z +A Z +C Y +B Z +C Y +B Y +A Y +A Z +B Y +B Z +B X +B Y +B Y +C Y +C Z +A Y +C Z +A Y +C Z +C Y +C Y +B Y +B Z +C Y +C Z +B Y +C Y +C Y +B X +B Y +C Z +C Z +C Y +B Z +B Y +C Z +B X +C Z +B Z +C Y +C Y +C Y +C Z +B Y +C Y +C Y +B Y +C X +C Z +B Y +C Z +A Y +C Y +C Y +C Z +C Y +C Z +B Z +B Y +C Z +C Z +C Y +B X +B Y +C Z +B Y +C Z +C Z +B Y +C Y +B X +B Y +A Y +B X +C Z +B Y +C Z +C Y +C Z +B X +B Y +C Y +C Z +C Y +B Y +B Z +B X +B Y +C Z +C Z +C Z +B Z +C Y +C Z +B Z +C Z +A Y +C Z +B X +B Z +C Y +C Z +C Y +B Z +B Y +C Y +B Z +A Y +B X +C Y +C Y +B Y +B Y +C Y +C X +B Z +B X +C X +C Y +B Z +C Z +A Y +B Z +B Z +B Z +B X +B Y +B X +C Z +C Z +A Z +B Z +C Z +C Z +B X +A Y +C Y +B Y +B Y +B Y +B Y +B Y +C Z +C Y +C X +C Y +B Y +B Y +C Y +C Z +B Y +A X +A Y +B X +A X +C Y +C Z +C Z +B Y +B Z +A Y +A Y +C Y +B Z +C Z +C Y +B Y +C Y +B X +B X +B X +C Z +B Y +C Y +B Z +C Z +A X +A Y +C Y +B Y +B Y +A Z +B X +C Z +C Z +B X +C Z +C Z +C Z +C Y +C Z +B X +B X +C Y +B Z +A Y +C Z +B Y +C Z +C Y +A Y +C Z +A Z +C Z +B Z +A Y +A Y +C Z +B Y +C Y +C Z +C Z +B Y +C Z +C Z +C Z +B Z +C Y +C Y +B Y +C Y +C Z +A X +C Z +C Z +C Y +C Z +B Y +C Y +B Y +A Y +C Y +A Y +B Y +B Y +C Z +C Z +C Z +B X +B Y +B Y +C Y +C Z +C Y +B X +B Y +C Y +C Z +C Z +C Z +A Y +C Y +C Z +B X +C Y +C Z +A Y +B Y +C Y +C Y +A X +C Z +B Z +B X +C Z +C Y +B Y +B Y +C Y +A Y +B Y +B Y +C Y +B X +C Z +C Z +C Y +C Y +B Y +C Z +C Y +C Z +C Z +C Z +B Y +C Z +B Y +B Y +B Y +B X +A Y +C Y +C Y +B X +B X +C Z +B X +C Z +B X +B Y +C Z +B X +B Y +C Z +B X +B Y +C Y +B Y +B Y +C X +B Y +B Y +B X +C Y +C Y +A Z +B Y +C Y +B Z +B X +B X +A Y +A Y +B Z +B X +B X +C Y +C Y +C Y +B Y +C Y +B Y +A Y diff --git a/src/day02/mod.rs b/src/day02/mod.rs index 136cac4..34e088b 100644 --- a/src/day02/mod.rs +++ b/src/day02/mod.rs @@ -1,18 +1,35 @@ use crate::read; +struct Hand { + pub letter: char, +} + +struct Round { + enemy: Hand, + me: Hand, +} + pub fn run() { let input = read("02"); - let lines = input.lines(); + let lines = input.lines().map(|l| { + let hands = l.split(' ').collect::>(); + Round { + enemy: Hand { + letter: hands.first().unwrap().chars().next().unwrap(), + }, + me: Hand { + letter: hands[1].chars().next().unwrap(), + }, + } + }); - - - #[cfg(feature="part1")] + #[cfg(feature = "part1")] { let a = "TODO"; eprintln!("Day 2, Part 01: {}", a); } - #[cfg(feature="part2")] + #[cfg(feature = "part2")] { let b = "TODO"; eprintln!("Day 2, Part 02: {}", b);