day 1 optimizations, day 2 setup
This commit is contained in:
parent
188247651e
commit
d8dbdca446
@ -1,33 +1,35 @@
|
||||
use std::io::Read;
|
||||
fn main() {
|
||||
let mut file = std::fs::File::open("input1").unwrap();
|
||||
let mut contents = String::new();
|
||||
file.read_to_string(&mut contents).unwrap();
|
||||
// let mut file = std::fs::File::open("input1").unwrap();
|
||||
// let mut contents = String::new();
|
||||
// file.read_to_string(&mut contents).unwrap();
|
||||
let mut v: Vec<i32> = Vec::new();
|
||||
let contents = std::fs::read_to_string("input1").unwrap();
|
||||
for s in contents.lines() {
|
||||
v.push(s.parse::<i32>().unwrap());
|
||||
}
|
||||
v.sort();
|
||||
let v2 = v.to_vec();
|
||||
for n in v.iter() {
|
||||
for n2 in v2.iter() {
|
||||
let val = n + n2;
|
||||
if val == 2020 {
|
||||
print!("{} + {} = {}\n", n, n2, val);
|
||||
print!("{} * {} = {}\n", n, n2, n * n2);
|
||||
}
|
||||
let k = 2020 - n;
|
||||
if v.contains(&k) {
|
||||
print!("{} + {} = {}\n", n, k, n + k);
|
||||
print!("{} * {} = {}\n", n, k, n * k);
|
||||
break;
|
||||
}
|
||||
}
|
||||
let v3 = v.to_vec();
|
||||
|
||||
let mut found = false;
|
||||
for n in v.iter() {
|
||||
for n2 in v2.iter() {
|
||||
for n3 in v3.iter() {
|
||||
let val = n + n2 + n3;
|
||||
if val == 2020 {
|
||||
print!("{} + {} + {} = {}\n", n, n2, n3, val);
|
||||
print!("{} * {} * {} = {}\n", n, n2, n3, n * n2 * n3);
|
||||
}
|
||||
for n2 in v.iter() {
|
||||
let k = 2020 - n - n2;
|
||||
if v.contains(&n) && v.contains(n2) && v.contains(&k) {
|
||||
print!("{} + {} + {} = {}\n", n, n2, k, n + n2 + k);
|
||||
print!("{} * {} * {} = {}\n", n, n2, k, n * n2 * k);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if found {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
9
2020/day_2/Cargo.toml
Normal file
9
2020/day_2/Cargo.toml
Normal file
@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "day_2"
|
||||
version = "0.1.0"
|
||||
authors = ["Ray Slakinski <ray.slakinski@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
3
2020/day_2/src/main.rs
Normal file
3
2020/day_2/src/main.rs
Normal file
@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
Reference in New Issue
Block a user