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
59
60
61
62
63
64
65
66
67
//! # Day 10: Balance Bots
//!
//! You come upon a factory in which many robots are [zooming around] handing small microchips to
//! each other.
//!
//! Upon closer examination, you notice that each bot only proceeds when it has **two** microchips,
//! and once it does, it gives each one to a different bot or puts it in a marked "output" bin.
//! Sometimes, bots take microchips from "input" bins, too.
//!
//! Inspecting one of the microchips, it seems like they each contain a single number; the bots must
//! use some logic to decide what to do with each chip. You access the local control computer and
//! download the bots' instructions (your puzzle input).
//!
//! Some of the instructions specify that a specific-valued microchip should be given to a specific
//! bot; the rest of the instructions indicate what a given bot should do with its **lower-value**
//! or **higher-value** chip.
//!
//! For example, consider the following instructions:
//!
//! ```txt
//! value 5 goes to bot 2
//! bot 2 gives low to bot 1 and high to bot 0
//! value 3 goes to bot 1
//! bot 1 gives low to output 1 and high to bot 0
//! bot 0 gives low to output 2 and high to output 0
//! value 2 goes to bot 2
//! ```
//!
//! - Initially, bot `1` starts with a value-`3` chip, and bot `2` starts with a value-`2` chip and
//!   a value-`5` chip.
//! - Because bot `2` has two microchips, it gives its lower one (`2`) to bot `1` and its higher one
//!   (`5`) to bot `0`.
//! - Then, bot `1` has two microchips; it puts the value-`2` chip in output `1` and gives the
//!   value-`3` chip to bot `0`.
//! - Finally, bot `0` has two microchips; it puts the `3` in output `2` and the `5` in output `0`.
//!
//! In the end, output bin `0` contains a value-`5` microchip, output bin `1` contains a value-`2`
//! microchip, and output bin `2` contains a value-`3` microchip. In this configuration, bot number
//! **`2`** is responsible for comparing value-`5` microchips with value-`2` microchips.
//!
//! Based on your instructions, **what is the number of the bot** that is responsible for comparing
//! value-`61` microchips with value-`17` microchips?
//!
//! [zooming around]: https://www.youtube.com/watch?v=JnkMyfQ5YfY&t=40

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() {}
}