feat: implement day05
This commit is contained in:
parent
f67485afc6
commit
c44f8b3c5c
35
Cargo.lock
generated
35
Cargo.lock
generated
@ -2,6 +2,41 @@
|
|||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aho-corasick"
|
||||||
|
version = "0.7.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aoc-2022"
|
name = "aoc-2022"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"regex",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex"
|
||||||
|
version = "1.7.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.6.28"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
|
||||||
|
@ -6,3 +6,4 @@ edition = "2021"
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
regex = "1"
|
10
src/day01.rs
10
src/day01.rs
@ -3,7 +3,7 @@ use crate::utils;
|
|||||||
pub fn execute_task01(content: &str) {
|
pub fn execute_task01(content: &str) {
|
||||||
let vector = utils::convert_to_string_slice(&content);
|
let vector = utils::convert_to_string_slice(&content);
|
||||||
let mut sum_vector = collect_all_calories(vector);
|
let mut sum_vector = collect_all_calories(vector);
|
||||||
sort_calories_descending(&mut sum_vector);
|
sum_vector.sort_by_key(|a| std::cmp::Reverse(*a));
|
||||||
|
|
||||||
let max: i32 = sum_vector[0];
|
let max: i32 = sum_vector[0];
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ pub fn execute_task01(content: &str) {
|
|||||||
pub fn execute_task02(content: &str) {
|
pub fn execute_task02(content: &str) {
|
||||||
let vector = utils::convert_to_string_slice(&content);
|
let vector = utils::convert_to_string_slice(&content);
|
||||||
let mut sum_vector = collect_all_calories(vector);
|
let mut sum_vector = collect_all_calories(vector);
|
||||||
sort_calories_descending(&mut sum_vector);
|
sum_vector.sort_by_key(|a| std::cmp::Reverse(*a));
|
||||||
|
|
||||||
let max_three: i32 = sum_vector.iter().take(3).sum();
|
let max_three: i32 = sum_vector.iter().take(3).sum();
|
||||||
|
|
||||||
@ -37,9 +37,3 @@ fn collect_all_calories(list: Vec<&str>) -> Vec<i32> {
|
|||||||
|
|
||||||
return calories_list;
|
return calories_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sort_calories_descending(vec: &mut Vec<i32>) {
|
|
||||||
vec.sort_by_key(|a|
|
|
||||||
|
|
||||||
std::cmp::Reverse(*a));
|
|
||||||
}
|
|
||||||
|
27
src/day02.rs
27
src/day02.rs
@ -46,7 +46,6 @@ pub fn execute_task01(content: &str) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pub fn execute_task02(content: &str) {
|
pub fn execute_task02(content: &str) {
|
||||||
let vector = utils::convert_to_string_slice(&content);
|
let vector = utils::convert_to_string_slice(&content);
|
||||||
let score: i32 = vector.into_iter().map(|line| {
|
let score: i32 = vector.into_iter().map(|line| {
|
||||||
@ -62,21 +61,15 @@ pub fn execute_task02(content: &str) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn convert_to_conditional_move(opp: &Move, you: char) -> Move {
|
fn convert_to_conditional_move(opp: &Move, you: char) -> Move {
|
||||||
match you {
|
match (you, opp) {
|
||||||
'X' => match opp { // need to loose
|
('X', Rock) => Scissors,
|
||||||
Rock => Scissors,
|
('X', Paper) => Rock,
|
||||||
Paper => Rock,
|
('X', Scissors) => Paper,
|
||||||
Scissors => Paper,
|
('Y', _) => opp.clone(),
|
||||||
},
|
('Z', Rock) => Paper,
|
||||||
'Y' =>
|
('Z', Paper) => Scissors,
|
||||||
|
('Z', Scissors) => Rock,
|
||||||
opp.clone(), // need to draw
|
_ => unreachable!(),
|
||||||
'Z' => match opp { // need to win
|
|
||||||
Rock => Paper,
|
|
||||||
Paper => Scissors,
|
|
||||||
Scissors => Rock,
|
|
||||||
},
|
|
||||||
_ => panic!("error"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +78,7 @@ fn convert_to_move(c: char) -> Move {
|
|||||||
'A' | 'X' => Rock,
|
'A' | 'X' => Rock,
|
||||||
'B' | 'Y' => Paper,
|
'B' | 'Y' => Paper,
|
||||||
'C' | 'Z' => Scissors,
|
'C' | 'Z' => Scissors,
|
||||||
_ => panic!("error"),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
126
src/day05.rs
Normal file
126
src/day05.rs
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
extern crate regex;
|
||||||
|
|
||||||
|
use std::collections::LinkedList;
|
||||||
|
use crate::utils;
|
||||||
|
use regex::Regex;
|
||||||
|
|
||||||
|
pub fn execute_task01(content: &str) {
|
||||||
|
let re = Regex::new(r"move (\d+) from (\d+) to (\d+)").unwrap();
|
||||||
|
|
||||||
|
let mut setup: Vec<&str> = vec![];
|
||||||
|
let mut setup_finish = false;
|
||||||
|
let mut port: Vec<LinkedList<String>> = Default::default();
|
||||||
|
let vector = utils::convert_to_string_slice(&content);
|
||||||
|
|
||||||
|
vector.into_iter().for_each(|line| {
|
||||||
|
if line.trim().is_empty() {
|
||||||
|
setup_finish = true;
|
||||||
|
port = parse_port(setup.clone().to_vec());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !setup_finish {
|
||||||
|
setup.push(line);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let caps = re.captures(line).unwrap();
|
||||||
|
let size: i32 = caps.get(1).map(|content| content.as_str().parse::<i32>()).unwrap().unwrap();
|
||||||
|
let from: &str = caps.get(2).map(|content| content.as_str()).unwrap();
|
||||||
|
let to: &str = caps.get(3).map(|content| content.as_str()).unwrap();
|
||||||
|
|
||||||
|
move_in_port(&mut port, from, to, size)
|
||||||
|
});
|
||||||
|
|
||||||
|
let str_line_vec: Vec<String> = port.into_iter().map(|vec| vec.into_iter().last().unwrap().trim().replace("[", "").replace("]", "")).collect();
|
||||||
|
|
||||||
|
println!("Day05 - Task01 - Last Item Str Line: {}", str_line_vec.join(""));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn execute_task02(content: &str) {
|
||||||
|
let re = Regex::new(r"move (\d+) from (\d+) to (\d+)").unwrap();
|
||||||
|
|
||||||
|
let mut setup: Vec<&str> = vec![];
|
||||||
|
let mut setup_finish = false;
|
||||||
|
let mut port: Vec<LinkedList<String>> = Default::default();
|
||||||
|
let vector = utils::convert_to_string_slice(&content);
|
||||||
|
|
||||||
|
vector.into_iter().for_each(|line| {
|
||||||
|
if line.trim().is_empty() {
|
||||||
|
setup_finish = true;
|
||||||
|
port = parse_port(setup.clone().to_vec());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !setup_finish {
|
||||||
|
setup.push(line);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let caps = re.captures(line).unwrap();
|
||||||
|
let size: i32 = caps.get(1).map(|content| content.as_str().parse::<i32>()).unwrap().unwrap();
|
||||||
|
let from: &str = caps.get(2).map(|content| content.as_str()).unwrap();
|
||||||
|
let to: &str = caps.get(3).map(|content| content.as_str()).unwrap();
|
||||||
|
|
||||||
|
move_in_port_currently(&mut port, from, to, size)
|
||||||
|
});
|
||||||
|
|
||||||
|
let str_line_vec: Vec<String> = port.into_iter().map(|vec| vec.into_iter().last().unwrap().trim().replace("[", "").replace("]", "")).collect();
|
||||||
|
|
||||||
|
println!("Day05 - Task02 - Last Item Str Line: {}", str_line_vec.join(""));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn move_in_port(mut port: &mut Vec<LinkedList<String>>, from: &str, to: &str, size: i32) {
|
||||||
|
for _ in 0..size {
|
||||||
|
move_in_port_once(&mut port, from, to)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn move_in_port_currently(port: &mut Vec<LinkedList<String>>, from: &str, to: &str, size: i32) {
|
||||||
|
let mut tmp: LinkedList<String> = LinkedList::new();
|
||||||
|
for _ in 0..size {
|
||||||
|
let tmp_tmp = port.get_mut((from.parse::<usize>().unwrap()) -1).unwrap().pop_back().unwrap();
|
||||||
|
tmp.push_front(tmp_tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
port.get_mut((to.parse::<usize>().unwrap()) -1).unwrap().append(&mut tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn move_in_port_once(port: &mut Vec<LinkedList<String>>, from: &str, to: &str) {
|
||||||
|
let tmp: String = port.get_mut((from.parse::<usize>().unwrap()) -1).unwrap().pop_back().unwrap();
|
||||||
|
port.get_mut((to.parse::<usize>().unwrap()) -1).unwrap().push_back(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn parse_port(lines: Vec<&str>) -> Vec<LinkedList<String>> {
|
||||||
|
let mut port = vec![];
|
||||||
|
|
||||||
|
lines.into_iter()
|
||||||
|
.rev()
|
||||||
|
.skip(1)
|
||||||
|
.map(|line| parse_port_level(line))
|
||||||
|
.for_each(|containers| {
|
||||||
|
for (i, item) in containers.into_iter().enumerate() {
|
||||||
|
if item.trim().is_empty() {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if port.len() <= i {
|
||||||
|
port.insert(i, LinkedList::new());
|
||||||
|
}
|
||||||
|
|
||||||
|
port.get_mut(i).unwrap().push_back(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn parse_port_level(line: &str) -> Vec<String> {
|
||||||
|
line.chars()
|
||||||
|
.collect::<Vec<char>>()
|
||||||
|
.chunks(4)
|
||||||
|
.map(|c| c.iter().collect::<String>())
|
||||||
|
.collect()
|
||||||
|
}
|
511
src/input/day05/input01
Normal file
511
src/input/day05/input01
Normal file
@ -0,0 +1,511 @@
|
|||||||
|
[W] [J] [J]
|
||||||
|
[V] [F] [F] [S] [S]
|
||||||
|
[S] [M] [R] [W] [M] [C]
|
||||||
|
[M] [G] [W] [S] [F] [G] [C]
|
||||||
|
[W] [P] [S] [M] [H] [N] [F] [L]
|
||||||
|
[R] [H] [T] [D] [L] [D] [D] [B] [W]
|
||||||
|
[T] [C] [L] [H] [Q] [J] [B] [T] [N]
|
||||||
|
[G] [G] [C] [J] [P] [P] [Z] [R] [H]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 3 from 8 to 6
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 6 from 2 to 7
|
||||||
|
move 5 from 3 to 6
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 4 from 4 to 3
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 10 from 7 to 3
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 6 from 5 to 8
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 7 from 6 to 3
|
||||||
|
move 22 from 3 to 4
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 4 from 6 to 8
|
||||||
|
move 5 from 2 to 1
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 4 from 4 to 5
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 2 from 5 to 9
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 5 from 6 to 7
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 21 from 8 to 6
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 7 from 6 to 8
|
||||||
|
move 3 from 1 to 9
|
||||||
|
move 24 from 4 to 8
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 10 from 6 to 8
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 11 from 8 to 3
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 19 from 8 to 1
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 10 from 3 to 1
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 23 from 1 to 7
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 8 from 8 to 1
|
||||||
|
move 11 from 7 to 2
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 7 from 8 to 6
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 10 from 7 to 1
|
||||||
|
move 6 from 2 to 5
|
||||||
|
move 5 from 2 to 9
|
||||||
|
move 4 from 5 to 8
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 13 from 1 to 6
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 2 from 7 to 3
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 4 from 1 to 3
|
||||||
|
move 3 from 8 to 4
|
||||||
|
move 8 from 4 to 9
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 12 from 1 to 5
|
||||||
|
move 9 from 6 to 8
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 12 from 5 to 8
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 16 from 6 to 1
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 7 from 8 to 5
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 8 from 9 to 8
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 9 from 8 to 7
|
||||||
|
move 12 from 1 to 3
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 6 from 8 to 9
|
||||||
|
move 5 from 1 to 4
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 11 from 7 to 3
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 7 from 4 to 6
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 3 from 8 to 2
|
||||||
|
move 19 from 3 to 2
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 8 from 9 to 4
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 4 from 2 to 7
|
||||||
|
move 8 from 6 to 9
|
||||||
|
move 6 from 7 to 3
|
||||||
|
move 4 from 3 to 8
|
||||||
|
move 5 from 8 to 7
|
||||||
|
move 15 from 2 to 8
|
||||||
|
move 8 from 3 to 4
|
||||||
|
move 7 from 9 to 7
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 9 from 7 to 5
|
||||||
|
move 4 from 5 to 9
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 7 from 7 to 4
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 4 from 4 to 5
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 8 from 4 to 1
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 11 from 8 to 7
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 11 from 7 to 1
|
||||||
|
move 7 from 8 to 9
|
||||||
|
move 11 from 1 to 3
|
||||||
|
move 6 from 4 to 5
|
||||||
|
move 8 from 1 to 7
|
||||||
|
move 4 from 6 to 5
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 8 from 7 to 3
|
||||||
|
move 7 from 4 to 7
|
||||||
|
move 7 from 5 to 6
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 16 from 3 to 1
|
||||||
|
move 7 from 7 to 1
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 2 from 8 to 1
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 8 from 6 to 7
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 15 from 1 to 2
|
||||||
|
move 4 from 9 to 1
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 11 from 9 to 2
|
||||||
|
move 21 from 2 to 6
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 4 from 2 to 7
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 19 from 1 to 2
|
||||||
|
move 5 from 2 to 4
|
||||||
|
move 8 from 7 to 6
|
||||||
|
move 10 from 6 to 2
|
||||||
|
move 5 from 7 to 5
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 3 from 6 to 9
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 13 from 6 to 3
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 17 from 2 to 3
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 5 from 5 to 3
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 10 from 2 to 1
|
||||||
|
move 18 from 3 to 8
|
||||||
|
move 13 from 8 to 1
|
||||||
|
move 7 from 8 to 2
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 4 from 3 to 8
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 11 from 3 to 4
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 7 from 1 to 2
|
||||||
|
move 5 from 8 to 5
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 3 from 5 to 1
|
||||||
|
move 7 from 1 to 6
|
||||||
|
move 6 from 1 to 6
|
||||||
|
move 6 from 1 to 8
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 5 from 2 to 5
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 4 from 2 to 4
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 7 from 8 to 5
|
||||||
|
move 1 from 9 to 7
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 8 from 5 to 7
|
||||||
|
move 5 from 4 to 1
|
||||||
|
move 4 from 1 to 6
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 3 from 7 to 5
|
||||||
|
move 15 from 6 to 7
|
||||||
|
move 12 from 7 to 4
|
||||||
|
move 8 from 5 to 2
|
||||||
|
move 3 from 4 to 9
|
||||||
|
move 3 from 9 to 7
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 9 from 4 to 9
|
||||||
|
move 4 from 9 to 1
|
||||||
|
move 2 from 1 to 7
|
||||||
|
move 3 from 6 to 4
|
||||||
|
move 3 from 6 to 4
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 13 from 4 to 2
|
||||||
|
move 22 from 2 to 3
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 2 from 8 to 9
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 5 from 6 to 4
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 4 from 7 to 8
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 7 from 7 to 2
|
||||||
|
move 9 from 4 to 7
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 3 from 7 to 6
|
||||||
|
move 12 from 3 to 5
|
||||||
|
move 5 from 2 to 5
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 11 from 5 to 3
|
||||||
|
move 3 from 6 to 1
|
||||||
|
move 8 from 1 to 9
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 1 from 9 to 7
|
||||||
|
move 5 from 7 to 4
|
||||||
|
move 3 from 8 to 3
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 4 from 7 to 9
|
||||||
|
move 3 from 8 to 6
|
||||||
|
move 6 from 3 to 8
|
||||||
|
move 6 from 8 to 7
|
||||||
|
move 4 from 6 to 5
|
||||||
|
move 6 from 5 to 8
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 4 from 7 to 4
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 5 from 8 to 4
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 7 from 3 to 8
|
||||||
|
move 6 from 1 to 4
|
||||||
|
move 6 from 1 to 2
|
||||||
|
move 17 from 4 to 6
|
||||||
|
move 4 from 8 to 5
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 5 from 4 to 1
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 7 from 7 to 2
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 6 from 1 to 8
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 4 from 5 to 3
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 5 from 5 to 3
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 7 from 6 to 1
|
||||||
|
move 6 from 6 to 8
|
||||||
|
move 11 from 3 to 7
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 8 from 8 to 2
|
||||||
|
move 5 from 7 to 5
|
||||||
|
move 5 from 7 to 4
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 10 from 2 to 6
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 6 from 6 to 9
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 19 from 1 to 8
|
||||||
|
move 23 from 8 to 9
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 5 from 4 to 5
|
||||||
|
move 4 from 5 to 4
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 6 from 9 to 3
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 6 from 9 to 8
|
||||||
|
move 5 from 4 to 5
|
||||||
|
move 10 from 5 to 2
|
||||||
|
move 10 from 5 to 2
|
||||||
|
move 11 from 9 to 1
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 18 from 2 to 9
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 3 from 3 to 9
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 6 from 8 to 4
|
||||||
|
move 6 from 5 to 7
|
||||||
|
move 19 from 9 to 4
|
||||||
|
move 7 from 1 to 3
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 7 from 7 to 3
|
||||||
|
move 8 from 3 to 1
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 4 from 8 to 9
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 3 from 9 to 7
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 6 from 7 to 3
|
||||||
|
move 13 from 3 to 1
|
||||||
|
move 5 from 3 to 4
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 13 from 4 to 8
|
||||||
|
move 14 from 1 to 5
|
||||||
|
move 6 from 2 to 7
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 5 from 4 to 2
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 12 from 5 to 4
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 9 from 4 to 2
|
||||||
|
move 9 from 4 to 5
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 6 from 4 to 3
|
||||||
|
move 5 from 8 to 4
|
||||||
|
move 9 from 4 to 7
|
||||||
|
move 4 from 2 to 3
|
||||||
|
move 8 from 7 to 1
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 2 from 2 to 9
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 2 from 7 to 3
|
||||||
|
move 3 from 3 to 7
|
||||||
|
move 8 from 1 to 2
|
||||||
|
move 9 from 5 to 3
|
||||||
|
move 15 from 2 to 7
|
||||||
|
move 20 from 7 to 5
|
||||||
|
move 23 from 5 to 6
|
||||||
|
move 20 from 6 to 8
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 3 from 7 to 6
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 13 from 3 to 5
|
||||||
|
move 3 from 7 to 1
|
||||||
|
move 13 from 5 to 4
|
||||||
|
move 3 from 1 to 4
|
||||||
|
move 5 from 6 to 1
|
||||||
|
move 6 from 4 to 3
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 11 from 8 to 6
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 11 from 6 to 5
|
||||||
|
move 3 from 8 to 3
|
||||||
|
move 4 from 3 to 5
|
||||||
|
move 15 from 5 to 1
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 3 from 8 to 5
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 9 from 4 to 6
|
||||||
|
move 7 from 6 to 8
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 2 from 5 to 1
|
||||||
|
move 8 from 8 to 7
|
||||||
|
move 6 from 6 to 2
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 6 from 1 to 5
|
||||||
|
move 7 from 3 to 4
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 2 from 8 to 9
|
||||||
|
move 9 from 2 to 5
|
||||||
|
move 9 from 5 to 4
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 14 from 1 to 7
|
||||||
|
move 15 from 7 to 2
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 7 from 5 to 1
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 2 from 1 to 7
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 7 from 2 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 7 from 8 to 3
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 9 from 2 to 1
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 3 from 7 to 5
|
@ -3,11 +3,13 @@ mod day01;
|
|||||||
mod day02;
|
mod day02;
|
||||||
mod day03;
|
mod day03;
|
||||||
mod day04;
|
mod day04;
|
||||||
|
mod day05;
|
||||||
|
|
||||||
const CONTENT01: &'static str = include_str!("input/day01/input01");
|
const CONTENT01: &'static str = include_str!("input/day01/input01");
|
||||||
const CONTENT02: &'static str = include_str!("input/day02/input01");
|
const CONTENT02: &'static str = include_str!("input/day02/input01");
|
||||||
const CONTENT03: &'static str = include_str!("input/day03/input01");
|
const CONTENT03: &'static str = include_str!("input/day03/input01");
|
||||||
const CONTENT04: &'static str = include_str!("input/day04/input01");
|
const CONTENT04: &'static str = include_str!("input/day04/input01");
|
||||||
|
const CONTENT05: &'static str = include_str!("input/day05/input01");
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
day01::execute_task01(&CONTENT01);
|
day01::execute_task01(&CONTENT01);
|
||||||
@ -20,5 +22,9 @@ fn main() {
|
|||||||
day03::execute_task02(&CONTENT03);
|
day03::execute_task02(&CONTENT03);
|
||||||
|
|
||||||
day04::execute_task01(&CONTENT04);
|
day04::execute_task01(&CONTENT04);
|
||||||
day04::execute_task02(&CONTENT04)
|
day04::execute_task02(&CONTENT04);
|
||||||
|
|
||||||
|
day05::execute_task01(&CONTENT05);
|
||||||
|
day05::execute_task02(&CONTENT05);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user