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
46
47
48
49
50
51
52
53
54
55
56
57
58
//! # Day 11: Corporate Policy
//!
//! Santa's previous password expired, and he needs help choosing a new one.
//!
//! To help him remember his new password after the old one expires, Santa has devised a method of
//! coming up with a password based on the previous one. Corporate policy dictates that passwords
//! must be exactly eight lowercase letters (for security reasons), so he finds his new password by
//! **incrementing** his old password string repeatedly until it is valid.
//!
//! Incrementing is just like counting with numbers: `xx`, `xy`, `xz`, `ya`, `yb`, and so on.
//! Increase the rightmost letter one step; if it was `z`, it wraps around to `a`, and repeat with
//! the next letter to the left until one doesn't wrap around.
//!
//! Unfortunately for Santa, a new Security-Elf recently started, and he has imposed some additional
//! password requirements:
//!
//! - Passwords must include one increasing straight of at least three letters, like `abc`, `bcd`,
//!   `cde`, and so on, up to `xyz`. They cannot skip letters; `abd` doesn't count.
//! - Passwords may not contain the letters `i`, `o`, or `l`, as these letters can be mistaken for
//!   other characters and are therefore confusing.
//! - Passwords must contain at least two different, non-overlapping pairs of letters, like `aa`,
//!   `bb`, or `zz`.
//!
//! For example:
//!
//! - `hijklmmn` meets the first requirement (because it contains the straight `hij`) but fails the
//!   second requirement requirement (because it contains `i` and `l`).
//! - `abbceffg` meets the third requirement (because it repeats `bb` and `ff`) but fails the first
//!   requirement.
//! - `abbcegjk` fails the third requirement, because it only has one double letter (`bb`).
//! - The next password after `abcdefgh` is `abcdffaa`.
//! - The next password after `ghijklmn` is `ghjaabcc`, because you eventually skip all the
//!   passwords that start with `ghi...`, since `i` is not allowed.
//!
//! Given Santa's current password (your puzzle input), what should his **next password** be?

use anyhow::Result;

pub const INPUT: &str = include_str!("d11.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() {}
}