diff --git a/day2/src/main.rs b/day2/src/main.rs index 44f14c9..6e6b0e6 100644 --- a/day2/src/main.rs +++ b/day2/src/main.rs @@ -5,15 +5,15 @@ use std::io::BufRead; fn score(line: String) -> i64 { match line.trim() { - "A X" => 1 + 3, - "A Y" => 2 + 6, - "A Z" => 3 + 0, + "A X" => 3 + 0, + "A Y" => 1 + 3, + "A Z" => 2 + 6, "B X" => 1 + 0, "B Y" => 2 + 3, "B Z" => 3 + 6, - "C X" => 1 + 6, - "C Y" => 2 + 0, - "C Z" => 3 + 3, + "C X" => 2 + 0, + "C Y" => 3 + 3, + "C Z" => 1 + 6, _other => 0, } } diff --git a/day2/src/main1.rs b/day2/src/main1.rs new file mode 100644 index 0000000..44f14c9 --- /dev/null +++ b/day2/src/main1.rs @@ -0,0 +1,33 @@ +use std::env; +use std::fs::File; +use std::io::BufReader; +use std::io::BufRead; + +fn score(line: String) -> i64 { + match line.trim() { + "A X" => 1 + 3, + "A Y" => 2 + 6, + "A Z" => 3 + 0, + "B X" => 1 + 0, + "B Y" => 2 + 3, + "B Z" => 3 + 6, + "C X" => 1 + 6, + "C Y" => 2 + 0, + "C Z" => 3 + 3, + _other => 0, + } +} + +fn main() { + let args: Vec = env::args().collect(); + let input = &args[1]; + let reader = BufReader::new(File::open(input).expect("where file?")); + + let mut sum = 0; + for line in reader.lines() { + sum += score(line.unwrap()); + } + + println!("Sum: {}", sum); +} +