fuck me
This commit is contained in:
parent
31cc87e7e9
commit
3f56e96f57
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"
|
2500
day2/input.txt
Normal file
2500
day2/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
100
day2/src/main.rs
100
day2/src/main.rs
@ -1,3 +1,99 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
use std::fs;
|
||||
use std::io::Error;
|
||||
use std::slice::Split;
|
||||
|
||||
/*
|
||||
Mi:
|
||||
A: 1 for rock
|
||||
B: 2 for paper
|
||||
C: 3 for scissors
|
||||
|
||||
U:
|
||||
X: 1 for rock
|
||||
Y: 2 for paper
|
||||
Z: 3 for scissors
|
||||
|
||||
pts:
|
||||
0: Loss
|
||||
3: Tie
|
||||
6: Win
|
||||
*/
|
||||
|
||||
fn calc(result: Vec<&str>) {
|
||||
let mut score: i32 = 0;
|
||||
let mut score2: i32 = 0;
|
||||
let mut new_vec: Vec<Vec<&str>> = [].to_vec();
|
||||
|
||||
result.iter().map(|x| {
|
||||
let mut arr: Vec<_> = x.split(" ").collect();
|
||||
|
||||
if arr[0] == "A" { arr[0] = "1"; };
|
||||
if arr[0] == "B" { arr[0] = "2"; };
|
||||
if arr[0] == "C" { arr[0] = "3"; };
|
||||
|
||||
if arr[1] == "X" { arr[1] = "1"; };
|
||||
if arr[1] == "Y" { arr[1] = "2"; };
|
||||
if arr[1] == "Z" { arr[1] = "3"; };
|
||||
|
||||
let pick_points: i32 = arr[1].parse().unwrap();
|
||||
score = score + pick_points;
|
||||
|
||||
if arr[0] == arr[1] {
|
||||
score = score + 3;
|
||||
} else {
|
||||
|
||||
let rock_win: Vec<_> = ["3", "1"].to_vec();
|
||||
let paper_win: Vec<_> = ["1", "2"].to_vec();
|
||||
let scissors_win: Vec<_> = ["2", "3"].to_vec();
|
||||
|
||||
if rock_win == arr { score = score + 6; };
|
||||
if paper_win == arr { score = score + 6; };
|
||||
if scissors_win == arr { score = score + 6; };
|
||||
|
||||
};
|
||||
|
||||
if arr[1] == "2" {
|
||||
new_vec.push([arr[0], arr[0]].to_vec())
|
||||
} else if arr[1] == "1" {
|
||||
if arr[0] == "1" { new_vec.push([arr[0], "3"].to_vec()) }
|
||||
if arr[0] == "2" { new_vec.push([arr[0], "1"].to_vec()) }
|
||||
if arr[0] == "3" { new_vec.push([arr[0], "2"].to_vec()) }
|
||||
} else if arr[1] == "3" {
|
||||
if arr[0] == "3" { new_vec.push([arr[0], "1"].to_vec()) }
|
||||
if arr[0] == "1" { new_vec.push([arr[0], "2"].to_vec()) }
|
||||
if arr[0] == "2" { new_vec.push([arr[0], "3"].to_vec()) }
|
||||
} else { println!("fail") }
|
||||
|
||||
}).collect::<()>();
|
||||
|
||||
for i in new_vec.iter() {
|
||||
let pick_points: i32 = i[1].parse().unwrap();
|
||||
score2 = score2 + pick_points;
|
||||
|
||||
if i[0] == i[1] {
|
||||
score2 = score2 + 3;
|
||||
} else {
|
||||
|
||||
let rock_win: Vec<_> = ["3", "1"].to_vec();
|
||||
let paper_win: Vec<_> = ["1", "2"].to_vec();
|
||||
let scissors_win: Vec<_> = ["2", "3"].to_vec();
|
||||
|
||||
if &rock_win == i { score2 = score2 + 6; };
|
||||
if &paper_win == i { score2 = score2 + 6; };
|
||||
if &scissors_win == i { score2 = score2 + 6; };
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
println!("{:?}", score);
|
||||
println!("{:?}", score2);
|
||||
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("input.txt").expect("fuck me sideways");
|
||||
let result: Vec<_> = input.split("\n").collect();
|
||||
|
||||
calc(result);
|
||||
}
|
Loading…
Reference in New Issue
Block a user