1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! # Day 10: Elves Look, Elves Say
//!
//! Today, the Elves are playing a game called [look-and-say]. They take turns making sequences by
//! reading aloud the previous sequence and using that reading as the next sequence. For example,
//! `211` is read as "one two, two ones", which becomes `1221` (`1` `2`, `2` `1`s).
//!
//! Look-and-say sequences are generated iteratively, using the previous value as input for the next
//! step. For each step, take the previous value, and replace each run of digits (like `111`) with
//! the number of digits (`3`) followed by the digit itself (`1`).
//!
//! For example:
//!
//! - `1` becomes `11` (`1` copy of digit `1`).
//! - `11` becomes `21` (`2` copies of digit `1`).
//! - `21` becomes `1211` (one `2` followed by one `1`).
//! - `1211` becomes `111221` (one `1`, one `2`, and two `1`s).
//! - `111221` becomes `312211` (three `1`s, two `2`s, and one `1`).
//!
//! Starting with the digits in your puzzle input, apply this process 40 times. **What is the length
//! of the result**?
//!
//! [look-and-say]: https://en.wikipedia.org/wiki/Look-and-say_sequence

use anyhow::Result;

pub const INPUT: &str = include_str!("d10.txt");

pub fn solve_part_one(input: &str) -> Result<i64> {
    Ok(0)
}

pub fn solve_part_two(input: &str) -> Result<i64> {
    Ok(0)
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn part_one() {}

    #[test]
    fn part_two() {}
}