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 68 69 70 71
//! # Day 25: Clock Signal
//!
//! You open the door and find yourself on the roof. The city sprawls away from you for miles and
//! miles.
//!
//! There's not much time now - it's already Christmas, but you're nowhere near the North Pole, much
//! too far to deliver these stars to the sleigh in time.
//!
//! However, maybe the **huge antenna** up here can offer a solution. After all, the sleigh doesn't
//! need the stars, exactly; it needs the timing data they provide, and you happen to have a massive
//! signal generator right here.
//!
//! You connect the stars you have to your prototype computer, connect that to the antenna, and
//! begin the transmission.
//!
//! Nothing happens.
//!
//! You call the service number printed on the side of the antenna and quickly explain the
//! situation. "I'm not sure what kind of equipment you have connected over there," he says, "but
//! you need a clock signal." You try to explain that this is a signal for a clock.
//!
//! "No, no, a [clock signal] - timing information so the antenna computer knows how to read the
//! data you're sending it. An endless, alternating pattern of `0`, `1`, `0`, `1`, `0`, `1`, `0`,
//! `1`, `0`, `1`...." He trails off.
//!
//! You ask if the antenna can handle a clock signal at the frequency you would need to use for the
//! data from the stars. "There's **no way** it can! The only antenna we've installed capable of
//! **that** is on top of a top-secret Easter Bunny installation, and you're **definitely** not-"
//! You hang up the phone.
//!
//! You've extracted the antenna's clock signal generation [assembunny] code (your puzzle input); it
//! looks mostly compatible with code you worked on [just recently].
//!
//! This antenna code, being a signal generator, uses one extra instruction:
//!
//! - `out x` **transmits** `x` (either an integer or the **value** of a register) as the next value
//! for the clock signal.
//!
//! The code takes a value (via register `a`) that describes the signal to generate, but you're not
//! sure how it's used. You'll have to find the input to produce the right signal through
//! experimentation.
//!
//! **What is the lowest positive integer** that can be used to initialize register `a` and cause
//! the code to output a clock signal of `0`, `1`, `0`, `1`... repeating forever?
//!
//! [clock signal]: https://en.wikipedia.org/wiki/Clock_signal
//! [assembunny]: super::d12
//! [just recently]: super::d23
use anyhow::Result;
pub const INPUT: &str = include_str!("d25.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() {}
}