Compare commits
No commits in common. "3f56e96f57b97a9e16ff96da69ec0f5f4fc3b077" and "6528547443b75f8cb52ad60429b356895b52aa27" have entirely different histories.
3f56e96f57
...
6528547443
7
day2/Cargo.lock
generated
7
day2/Cargo.lock
generated
@ -1,7 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "day2"
|
|
||||||
version = "0.1.0"
|
|
@ -1,8 +0,0 @@
|
|||||||
[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
2500
day2/input.txt
File diff suppressed because it is too large
Load Diff
@ -1,99 +0,0 @@
|
|||||||
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…
x
Reference in New Issue
Block a user