feat: implement day 15
This commit is contained in:
parent
0a709e9309
commit
b8ab75d049
111
src/day14.rs
Normal file
111
src/day14.rs
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
use std::time::Instant;
|
||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
|
enum Direction{
|
||||||
|
North,
|
||||||
|
South,
|
||||||
|
East,
|
||||||
|
West
|
||||||
|
}
|
||||||
|
pub fn execute_task01(content: &str) {
|
||||||
|
let start = Instant::now();
|
||||||
|
let gravity_1 = solve_01(content).unwrap();
|
||||||
|
let duration = start.elapsed();
|
||||||
|
|
||||||
|
//assert_eq!(10165598, gravity_1);
|
||||||
|
println!("Day14 - Task01 - Duration: {duration:?} - One time gravity: {}", gravity_1)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn execute_task02(content: &str) {
|
||||||
|
let start = Instant::now();
|
||||||
|
let gravity_1000000 = solve_02(content).unwrap();
|
||||||
|
let duration = start.elapsed();
|
||||||
|
|
||||||
|
//assert_eq!(678728808158, gravity_1000000);
|
||||||
|
println!("Day14 - Task02 - Duration: {duration:?} - 1 Million time gravity: {}", gravity_1000000)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn solve_01(content: &str) -> anyhow::Result<usize> {
|
||||||
|
let map = content
|
||||||
|
.lines()
|
||||||
|
.map(|chars| chars.chars().collect_vec())
|
||||||
|
.collect_vec();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve_02(content: &str) -> anyhow::Result<usize> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn move_direction(map: &Vec<Vec<char>>, direction: Direction) {
|
||||||
|
match direction {
|
||||||
|
Direction::North => {
|
||||||
|
let mut stones = vec![0; map.len()];
|
||||||
|
|
||||||
|
for row in 0..map.len() {
|
||||||
|
let width = map[row].len();
|
||||||
|
for col in 0..width {
|
||||||
|
let char = map[row][col].clone();
|
||||||
|
|
||||||
|
match char {
|
||||||
|
'0' => {
|
||||||
|
if stones[col] != row - 1 {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'#' => stones[col] = row,
|
||||||
|
'.' => (),
|
||||||
|
_ => unreachable!()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
Direction::South => {}
|
||||||
|
Direction::East => {}
|
||||||
|
Direction::West => {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_solve_01() {
|
||||||
|
let example = r#"O....#....
|
||||||
|
O.OO#....#
|
||||||
|
.....##...
|
||||||
|
OO.#O....O
|
||||||
|
.O.....O#.
|
||||||
|
O.#..O.#.#
|
||||||
|
..O..#O..O
|
||||||
|
.......O..
|
||||||
|
#....###..
|
||||||
|
#OO..#...."#;
|
||||||
|
|
||||||
|
let result = solve_01(example).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(136, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_solve_02() {
|
||||||
|
let example = r#"...#......
|
||||||
|
.......#..
|
||||||
|
#.........
|
||||||
|
..........
|
||||||
|
......#...
|
||||||
|
.#........
|
||||||
|
.........#
|
||||||
|
..........
|
||||||
|
.......#..
|
||||||
|
#...#....."#;
|
||||||
|
|
||||||
|
let result = solve_02(example).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(1030, result);
|
||||||
|
}
|
111
src/day15.rs
Normal file
111
src/day15.rs
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
use std::hash::Hash;
|
||||||
|
use std::time::Instant;
|
||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
struct Lens {
|
||||||
|
label: String,
|
||||||
|
hash: u32,
|
||||||
|
value: usize,
|
||||||
|
}
|
||||||
|
pub fn execute_task01(content: &str) {
|
||||||
|
let start = Instant::now();
|
||||||
|
let sum_of_hash = solve_01(content).unwrap();
|
||||||
|
let duration = start.elapsed();
|
||||||
|
|
||||||
|
assert_eq!(508552, sum_of_hash);
|
||||||
|
println!("Day15 - Task01 - Duration: {duration:?} - Sum of Hash: {}", sum_of_hash)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn execute_task02(content: &str) {
|
||||||
|
let start = Instant::now();
|
||||||
|
let boxes_sum = solve_02(content).unwrap();
|
||||||
|
let duration = start.elapsed();
|
||||||
|
|
||||||
|
assert_eq!(265462, boxes_sum);
|
||||||
|
println!("Day15 - Task02 - Duration: {duration:?} - Sum of Baxes: {}", boxes_sum)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn solve_01(content: &str) -> anyhow::Result<u32> {
|
||||||
|
Ok(content
|
||||||
|
.split(",")
|
||||||
|
.map(|part| part
|
||||||
|
.chars()
|
||||||
|
.fold(0, |sum, char| hash(sum + char as u32) ))
|
||||||
|
.sum())
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fn solve_02(content: &str) -> anyhow::Result<usize> {
|
||||||
|
let mut boxes: Vec<Vec<Lens>> = vec![vec![]; 256];
|
||||||
|
|
||||||
|
let _ = content
|
||||||
|
.split(",")
|
||||||
|
.for_each(|part| {
|
||||||
|
if part.contains("=") {
|
||||||
|
let (label, num) = part.split_once("=").unwrap();
|
||||||
|
let lens = Lens{
|
||||||
|
label: label.to_owned(),
|
||||||
|
hash: hash_string(label),
|
||||||
|
value: num.parse().unwrap(),
|
||||||
|
};
|
||||||
|
let mut lable_box = &mut boxes[lens.hash as usize];
|
||||||
|
|
||||||
|
if let Some(item) = lable_box.iter_mut().filter(|box_lens| box_lens.label == lens.label).next() { // already exists
|
||||||
|
item.value = lens.value
|
||||||
|
} else {
|
||||||
|
lable_box.push(lens)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else { // is dash (-)
|
||||||
|
let label = part.replace("-", "");
|
||||||
|
let hash = hash_string(label.as_str());
|
||||||
|
let mut lable_box= &mut boxes[hash as usize];
|
||||||
|
|
||||||
|
for i in 0..lable_box.len() {
|
||||||
|
let lens = &lable_box[i];
|
||||||
|
if lens.label == label {
|
||||||
|
lable_box.remove(i);
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Ok(boxes
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.filter(|(_, list)| !list.is_empty())
|
||||||
|
.flat_map(|(i, lenses)| lenses.iter().enumerate().map(move |(j, lens)| (i+1) * (j+1) * lens.value))
|
||||||
|
.sum())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn hash_string(str: &str) -> u32 {
|
||||||
|
str
|
||||||
|
.chars()
|
||||||
|
.fold(0, |sum, char| hash(sum + char as u32) )
|
||||||
|
}
|
||||||
|
|
||||||
|
fn hash(num: u32) -> u32 {
|
||||||
|
num * 17 % 256
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_solve_01() {
|
||||||
|
let example = r#"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"#;
|
||||||
|
|
||||||
|
let result = solve_01(example).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(1320, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_solve_02() {
|
||||||
|
let example = r#"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"#;
|
||||||
|
|
||||||
|
let result = solve_02(example).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(145, result);
|
||||||
|
}
|
100
src/input/day14/input.txt
Normal file
100
src/input/day14/input.txt
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
...OO..##.......O..O....O..O#...O.OO#.#..O...O....OOO##..O##O#...#..O....#........#O.##O#..OO#..OO.O
|
||||||
|
...#.#.#.O#...OO.#........O#.#............#...O...#...OOOO#...#..#..#.O...#..#....O.#O###..O#..OOO.O
|
||||||
|
..##..##.O...#..OO.O.#.#O#.O.OO..#.....#.....#O##O.#..###.O.........OOOO#...O.#.........##O..O.#O.O.
|
||||||
|
.....#.##O##.#.#O#....#.#O.....OO.#.#OO##OOOO..#O..#.#.#.O..........O.#......O...OO.........#.OO....
|
||||||
|
.#.O#O...#...#...O#O....O.......O#.O..OOO...#.##OO.#.O..O.#.O...O..O.#.#.#...#..O...OO..OO.....O.#.O
|
||||||
|
....#..#...#.##................O..OO.....##.........#...#..........#.OOO...O#..##.##.......#O..O.##.
|
||||||
|
.............OO#...O.#....O....O...##...OOO....O.O..O...#......O..O#.O#.#..........#.#....#O...#O..O
|
||||||
|
O.....O.O...O...OO..#...#.OO........#..##O...O.O.#.#..#O..##O.##..O......#.....O......#....O.....OO.
|
||||||
|
.#..O....O.O..O.#..#.......#OOO...#.O..O..O#...OO.#...##O.O..O.OO...O....#O.O.....O#....O....O.#....
|
||||||
|
...#....#OO...O....#.##.O#####..O...#...#...#..O..#.##.##OO...O#.........O..OO......#..OO.#...##O...
|
||||||
|
...OO...........O....O.##..#.O##.....O..#.......O#..#....#O.#...#.#.O..O#..#..O..O##..O...#..O##.O..
|
||||||
|
.....#OO#.O......#.O..O..O.....#.#.OOOOO..#......O.OO.OO.....#...#O....OO.O.#....##O..O..O......#...
|
||||||
|
.O#O.#.#O.....O.#..O..#O..#O.O..O.......O....O.....#...#........#.#....O#..#......#O....OO#.....O.##
|
||||||
|
.O..###.....O..##O...O..O..O.#....#.......#..##......O#O.#OOO...OOO...O..O#..#.#...OOO#..........O..
|
||||||
|
#..O#OO..#O.O..OOO...#.#...O..O.O.......#..#...#..O...O.O#.O....#...#..O.O....O.#.#...#.....OO...#.#
|
||||||
|
...O..#O............#.......#..##OO..##....#OO.OO..##..#OO.#.O..O.O........O........O.##...O.O.O...#
|
||||||
|
.O...O.....#....OO#.O#.###.O....#.O...O#....#....O....O..OO.O....O#OO#.#O#......OO..OOO...O.#.O.....
|
||||||
|
.O..O................OO##O..#....O..#.O..#.#............#.##.........#..O.O.O..O#...O.#OOO#..#.#...#
|
||||||
|
O..O.........O##...#......#..#O....#O#....O.O.O.O...#......O#O..#...O..##.#..O.O.#O.......OO...O#O##
|
||||||
|
OOOO.#O.O#.....#..#...#..O...#O....#.#.O.#..O.##.O....#.##.O.O....OO...O.......#..#......#...O###..O
|
||||||
|
..#.......#...O..O..OO.O#...OO.OO..O#.O....#OO....#.#O........##O.#.....###....OO#..O.O.O.......O#.#
|
||||||
|
#.O.......#OO#...#O#O#..OO.O.OOO#O#....OO..O#.O.#.O...##.#.O..#...O.O.....O..#.OO#.O...O.#....O.O..#
|
||||||
|
.OO#.OO###....O........#..O..##.O...OOO.#...O......O#....#.O#.O......O.......O.#..#O..O...#..#...#..
|
||||||
|
....##O....O.##......##.O.##......#....OOOOO#......#.#.....#O...#...#..OO##.##.....##.O...O.O##.#..O
|
||||||
|
.#...O.#OO........O..OO...##O.O..O.....O..#OOO....#..#O#.#O......O.O.##.....O......O.O.#..#.#..OO...
|
||||||
|
O...O....#...O##.....#......O.O..O..O..#...O..OO#..O#.#.....#....O...##.#.#O.O........#.O#O#OO.#..#.
|
||||||
|
#..#...#OO...O#..#.#.#O#O..........O..O...O.O#O...OOO..O...O.O#.O##....O.......O..O..#...OO..OOO....
|
||||||
|
.#.OOO#....O#.....#.OOO.........O.........O.......#O#O......O#O.O.#O#.#..O.....#.....#..O.##O.O#...#
|
||||||
|
...#....O.O##.O...O.O..OOOO##.............OO....O.O....O..O....#OO..O....OO.OO.O..#.#......O.O#.....
|
||||||
|
#....O...OO.#.....O...OO.#O.#O....#....##.O..#O..O.O...#...O#.#OOOOOO......#.O.##......##..###.O.O..
|
||||||
|
.#.O..O.##O.#.........O.O.#O....#......O.#....O...#O.#.OO.OOO..#..O.O.##..#.....#..O.....O#..O#....O
|
||||||
|
#.OO.#...O...O##O.O.O......#....O..O.O.......O.....#...OOO....O.O#.#..O.O..OO#.OOO..O...#..O..O.OO.#
|
||||||
|
.#..#........##O.O.....OO.....O...OO#O..#..O.....O...O....O.#.#.......OO.....O..O.O..O....#.#O.....#
|
||||||
|
...O.O.OO.O##OO..O.OO.......#O#O#..O#...O.#O.....#.....#.OO.#..#....O..OO.O.....O....O..#.OO.......O
|
||||||
|
O#..........O.#..OO...#OOO.O..O.##..#O##O.O.#O#.OO.O.O#...O#...OOO#.O.OO.O.#O..#O.#.......##O..O...O
|
||||||
|
.#.O.....#..O#....O.###.....##...O.....................O....OO#..O#.#.#...O....##...O.#...O..#.O##.#
|
||||||
|
..O...#...O#.#.O.O.O...O.......OO#.#........O...##.O...#..##..OO.#..O.#.#.O..OO....O.O..#...#O.O#.#.
|
||||||
|
....OOO#.O#...#...O#.O.OOO...##.....O...OO...O..OOO.O.O.O..##.#O#.#O.O...#O..O..#.#..OOOO..O.#.O#...
|
||||||
|
.O............#....#..OO...#..OO.OO....O..O.OOO......O....O#OO....#............#.OO#.O##.O#O..OOO.#O
|
||||||
|
.O......O.#.#.#..O.......O.........#O.O...#O#...#.OO...#...#.O..O..O.O.#.O.O.....#.#......##.O.O...O
|
||||||
|
...O..O.........#O..O.O..O###O#..#..#OO#OO..#O.#.....##..OO...OOO#...#O.........OOO.OO.##..#O.O..O.O
|
||||||
|
.#.##.#.#OOO#.OO.O.O#OO#O....O..#...O.......O.#.....##...#O..O.O...#..##O......OO.OOO..O...#.#.O#O..
|
||||||
|
.#.O##O#...#.O.#O..OO##....##O................#..#..#..#.O....#....#.#.#..#O..#...O.#O..#...O...OO..
|
||||||
|
.....O.......O##......OO..#...O...#.O..O..O#.O..##..#.O..#....#.O.#O....O..OO.#OO.#..#...#.O...OO.O.
|
||||||
|
..#O.###...O..###O..#..#....OO...O.O....O.#O#.#O..O..O..#..#..#....#..O.OOO...O.#O.....O..O....O.OO.
|
||||||
|
.O#....O.##O..........O.#OO..O...O...#..##.OO...#.#..OO.O.....##O..OO...O...OOO..#.#....OO..#OO.O...
|
||||||
|
O....O.#O#O....OO.......O..O.O.....O...#.O..#.OO..OO.....#....O...OO.##...O.....#O..O...O##.O.#O...#
|
||||||
|
O...#..O....#.O.O..O#.....O..#.OO#O#OO##O##...O.O.....O...#...O...OOO...O#O...O.#OO.##..O..##O.O#...
|
||||||
|
.#O..#O#..#.#........O..O#.......#...O.....O....O...O#..#.#..#...#.....#...#.#.....OO...O.##O.......
|
||||||
|
O#........O#...O.O.##...O.OOO.........##..........#O#............O...O.#O.O#.#.#.#.O..#....#........
|
||||||
|
.........#.#......##OOO....O.#O....OO..O....O.##....#......O.O........#O..#.O....##.........#.O.#...
|
||||||
|
#.#.O..O....OO#......#.O#....#O..OO..O.....O..#.#O#.O.##O....O......#O......OOO....#O.#OO....O.O..##
|
||||||
|
OO.O.##O.....O#....O.O#....O..###.O.O...O..#...O..#O....O..#OO...O...##.....O.#OO.....O...#O.O..#..O
|
||||||
|
.OOO#...O..#O..O......OOO..O..O...#.O.O#...OO.......O.O.O##...#O..O.......##....O#.OO###.....O...O.O
|
||||||
|
.O..O...#O.#....##.O.O.O.#......O.O.#.O#.O###....O...O..#..O#......O.........OO...OOO..#.O.....O....
|
||||||
|
.O...##...O#.........O..O.O....O...#..#.....O.#..O.#O..O.#.O....#..O..#....#.#.OOO...O#...#O#.#O..#.
|
||||||
|
#.#........O#.#.O.O.#.#.OOO.#.#.#O.#....#O.#.O..#..........#O..O#.##..O#O#.O.OOO..##..O....O.#.OO...
|
||||||
|
O..O..O.........#OO.#....#....O..O#O..O#....O..O.O.........O............OOOO..OO#.O#......O..#.#..#.
|
||||||
|
#..O.....#........O.....O....O#O##..O.O...##..#O.#.OO..#......#.#..O.......#....O..O.....#..O.....O.
|
||||||
|
..O.#.##...O..##O.....#..........O........#.#.#O..O.OO..OO.....O.....O..OO..OOO.#.#.O#.....#.#..O#.#
|
||||||
|
.................O...O.#.....#...O#....OO..#O...O....OO.OOO.##..##..O........#O#O..#....#.....#....#
|
||||||
|
..#.#..O....##.#O.....#.OOO.O.O....O#..O....OO......O.#.O#...#.#.O...O....#.......#O.O.#O.O.##.##.#O
|
||||||
|
..O..O.....#O........#O....#.#.........O.#....O..O.#.O...O#.O.#......O...O..#.......#O....##...##...
|
||||||
|
....OO.#......O...O#...#....##.#.O..#.O#.O#..O#....##.O#...O..O.....#.#..#O.#.....##O#.O#..O.O....#.
|
||||||
|
#..O..#..........#..O##O....#.#..O#...O..O.##.....OO..#...##O..####....O.......#........O.O....O.O..
|
||||||
|
.#.OO#.O.O...#OO.O#.O.#.#....O..#...OO..O.....#O.....#..##...O..###OO..O....#..O#..#O...O..O..#O...#
|
||||||
|
#..#OO#..O#.....#O..O.O.O...#.O..OO.O.O#..#....#O..O.OO........##..O......O#...OO#...#.....OO..#.#..
|
||||||
|
.#.##.O.O..O.....OOO..OOO..#..OO#...##.O.O.#..#..O.....O#...O.#...O.......O#.#.#O#...O..#...##...O..
|
||||||
|
.#..O..#.O.##O..O#.O.O....#.##....#.OO#.....##..OO#.#O.#.#...O#....OOOOO...O#.....##......O.........
|
||||||
|
.....###......#O...OO..O#.O.....O.#O.....#O##.#.##..#..#O..OO##..O...OO..O####O....O...O..O.#.O#.#..
|
||||||
|
.O#..O.O.O...#O..#..#....###..##...O.OOO.....O.#..O#.O.OO.O..O#...#.O...#.O#.O#.....#.OO..OO#..OO.O.
|
||||||
|
#....O#...#.......O........#....O##.O#......O........O#.O...OO...O#.#.O...OO..O............OO...OO.#
|
||||||
|
#.##...#O..OO...#.....#.O..O.O....O..O.....#O.OO.O...O.O.OO.##.O......#O.#.#O.#.O....O.OOO...O#O..O.
|
||||||
|
..#.#OOO.O...#..O.O#O.O...#.#..........#.O.##.O.##.O....###.#.#...#.O........#...#.O......O..#.OO...
|
||||||
|
OOO......##.....#....O......O.....#O#O...O......OOO.O.O....OO##O#.OOO#..O..O.#.#...O....#.O.O..O..##
|
||||||
|
.....O.#....#.##O.OOO.O.....O.#O..#O...#....OO.#..#.O..OO.O.##...O#...O.O##.O......O.#..O#O.OOO....O
|
||||||
|
#O..#...#..O...O.O.O...#..OOO..O.O..#...#.#..O.O#...O.......OO...O.##O...O#.....O.O....O..O.O.#.#O..
|
||||||
|
..O...#...O#......O....OO...#.#..#.O...#...O.O...O.O.......O....O...O..#....O...O.....##..O.#...#.#.
|
||||||
|
.#....#O#OO...O....##.#.O.O...O#........##.O.#...OO...O#.....O.......O.O.O##....#..OOO..........#...
|
||||||
|
...#..O....O#......O...##O.#.O.O.OO.O.#......##.O..O......O..O.#..O....O.....#O##...#.#O.OO.#O#.###.
|
||||||
|
#...#...#O.....#...O###......O#O..O.O.....O....O....#O....O#..#.O..OO###....O...O#......O.#O#....O..
|
||||||
|
#.....#OOO##.....O...#.O.##O..##.O......#OO.O..#.........O#.O.#.O....O#OO.O.OO..O##O#.......O.....O.
|
||||||
|
.#..#..#O.OOO.#...###.O...#..OO#.OOO#................O...O.O.........O.....#...#O.OO...O...#O.#..O.#
|
||||||
|
.O#O..#.#O....O..O.#.....O....#.O#O.O...#.OO..O.#........#...O...O.O....O#O......OOO.O.....O#.#O..O.
|
||||||
|
#.#.O#..O...#O..#....O.........O....##...#.#..#.O.#OO...O...O.#...#.....O#..O#.O#.O..OOO.O....O..O..
|
||||||
|
O..O.......#O#O.O......O.O....O#OOO.....##O....#.##..#.OOOO....#..O....#...#.O...#O.....#O#O..O..#..
|
||||||
|
..#...O.#.O#.O.O#.O....#.#....#.#...O.#O.##..O.#.....O...#...#....O.#..O#..#.#OOO#..OO.#.#O.#..O#..#
|
||||||
|
.OO.O..#.#..#.#..#O.O....#O..#O.......#.#.O.#.#.#.##..#.#O.#.O..#.O...O.#..#...O..O......##.......O.
|
||||||
|
...O.O..O.O.O.#.O#.O......O.O#.O#....OO......#O.#.O......O.OO.#O....O#........#..#..O.O#.#O#O..#...#
|
||||||
|
...#..O....#OO.OO#.OO.#.....OOO.OO##OO#......O....O......#O#.#.O..O....O..O.O..#O...#......#........
|
||||||
|
......#.....O#.O..#..O......O##.#.O........##.##...OOOO..#...#.O...#..OO.O.#.#.O.#...#.#OO#O....##..
|
||||||
|
.OO....#...O.#....O......#.O....O.....#.O..O.#.O....O.O#OO.O.O.#............#.#O#..##O..O.#..#.O##..
|
||||||
|
#.O#..#.#O..OO#O.O##..O...#.#O.....O..O.##....#.#...O.O....O.#...O..O#.#.OO..OOO..O..O.O.#..OO#...#.
|
||||||
|
....#.O..OO..O.##.O.#O..O.O.O..#..#.O.O....###O..#OO#....#.........O.###.O...O#.O...O#.#.O#O.O#OO.O.
|
||||||
|
O.#......O...OO.#.#.O..#.O............O#.O#O........#..O.#O#.#.#..O.OO..#.OO#.O.#.#O###..##..##.....
|
||||||
|
..O#O....O...#....................O#..#.O.#....O.#OOO...O.OOO.#..#..O##.O...O.....O.#.OO.....O..#..#
|
||||||
|
#.O....##O..##...#.#.OO...#.......#.#........#####.O.O......##.....#...........O#OO.O..#....O...O#..
|
||||||
|
..........#.O.#.#.#OOO.O..O.O.O.#O...#..O#....O..O##.O..#O...OO#O..OOO..OO#O#.O.....O..O##.O...#....
|
||||||
|
O###...O#.O......##O#..O#.........OO...O#O#O..#O#O..#O#O.#..#OO.#...##..##..#.#...#O.O....O...O....#
|
||||||
|
.#.....O#OO.O#.#.OOO#.#.#.#...O.#..##.##...O.OO.O.....O..##..O.......O..#...O....##OO#..O#.OOO.#.##.
|
1
src/input/day15/input.txt
Normal file
1
src/input/day15/input.txt
Normal file
File diff suppressed because one or more lines are too long
@ -10,6 +10,8 @@ mod day08;
|
|||||||
mod day09;
|
mod day09;
|
||||||
mod day10;
|
mod day10;
|
||||||
mod day11;
|
mod day11;
|
||||||
|
mod day14;
|
||||||
|
mod day15;
|
||||||
|
|
||||||
const CONTENT01: &'static str = include_str!("input/day01/input.txt");
|
const CONTENT01: &'static str = include_str!("input/day01/input.txt");
|
||||||
const CONTENT02: &'static str = include_str!("input/day02/input.txt");
|
const CONTENT02: &'static str = include_str!("input/day02/input.txt");
|
||||||
@ -22,6 +24,8 @@ const CONTENT08: &'static str = include_str!("input/day08/input.txt");
|
|||||||
const CONTENT09: &'static str = include_str!("input/day09/input.txt");
|
const CONTENT09: &'static str = include_str!("input/day09/input.txt");
|
||||||
const CONTENT10: &'static str = include_str!("input/day10/input.txt");
|
const CONTENT10: &'static str = include_str!("input/day10/input.txt");
|
||||||
const CONTENT11: &'static str = include_str!("input/day11/input.txt");
|
const CONTENT11: &'static str = include_str!("input/day11/input.txt");
|
||||||
|
const CONTENT14: &'static str = include_str!("input/day14/input.txt");
|
||||||
|
const CONTENT15: &'static str = include_str!("input/day15/input.txt");
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
day01::execute_task01(CONTENT01);
|
day01::execute_task01(CONTENT01);
|
||||||
@ -56,4 +60,7 @@ fn main() {
|
|||||||
println!();
|
println!();
|
||||||
day11::execute_task01(CONTENT11);
|
day11::execute_task01(CONTENT11);
|
||||||
day11::execute_task02(CONTENT11);
|
day11::execute_task02(CONTENT11);
|
||||||
|
println!();
|
||||||
|
day15::execute_task01(CONTENT15);
|
||||||
|
day15::execute_task02(CONTENT15);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user