Compare commits
2 Commits
c5f772054e
...
b61d9951a6
Author | SHA1 | Date | |
---|---|---|---|
b61d9951a6 | |||
79ff128e33 |
7
day2/Cargo.lock
generated
Normal file
7
day2/Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "day2"
|
||||
version = "0.1.0"
|
8
day2/Cargo.toml
Normal file
8
day2/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "day2"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
2500
day2/input.txt
Normal file
2500
day2/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
33
day2/src/main.rs
Normal file
33
day2/src/main.rs
Normal file
@ -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" => 3 + 0,
|
||||
"A Y" => 1 + 3,
|
||||
"A Z" => 2 + 6,
|
||||
"B X" => 1 + 0,
|
||||
"B Y" => 2 + 3,
|
||||
"B Z" => 3 + 6,
|
||||
"C X" => 2 + 0,
|
||||
"C Y" => 3 + 3,
|
||||
"C Z" => 1 + 6,
|
||||
_other => 0,
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = 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);
|
||||
}
|
||||
|
33
day2/src/main1.rs
Normal file
33
day2/src/main1.rs
Normal file
@ -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<String> = 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);
|
||||
}
|
||||
|
4
day2/test.txt
Normal file
4
day2/test.txt
Normal file
@ -0,0 +1,4 @@
|
||||
A Y
|
||||
B X
|
||||
C Z
|
||||
|
Loading…
Reference in New Issue
Block a user