From ae8c7447dbcbf042f3510fd1d4de803281dfd811 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Wed, 11 Oct 2023 17:00:35 +0200 Subject: [PATCH] Added input. Reading file and puting them in a vector. --- rust/day2/input | 2500 +++++++++++++++++++++++++++++++++++++++++ rust/day2/src/main.rs | 8 + 2 files changed, 2508 insertions(+) create mode 100644 rust/day2/input diff --git a/rust/day2/input b/rust/day2/input new file mode 100644 index 0000000..807fbce --- /dev/null +++ b/rust/day2/input @@ -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/rust/day2/src/main.rs b/rust/day2/src/main.rs index 8d525ec..989e54c 100644 --- a/rust/day2/src/main.rs +++ b/rust/day2/src/main.rs @@ -1,8 +1,16 @@ +use std::fs::read_to_string; use std::collections::HashMap; mod rps; fn main() { + // Checking if the file is found. + let mut oponent : Vec = read_to_string("input").unwrap().split_whitespace().map(|s| s.to_string()).collect(); + let mut player = oponent.clone(); + oponent.retain(|s| s == "A" || s == "B" || s == "C"); + player.retain(|s| s == "X" || s == "Y" || s == "Z"); + assert!(oponent.len() == player.len(), "Oponent and Player don't play as many turns."); + let converter : HashMap = rps::get_converter(); let player = converter.get(&'Y').unwrap().battle(converter.get(&'A').unwrap()); println!("First battle = {}", player);