Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
Signed-off-by: Jess Frazelle <github@jessfraz.com>
  • Loading branch information
jessfraz committed Dec 13, 2023
1 parent 0bc3856 commit 6796caf
Showing 1 changed file with 73 additions and 4 deletions.
77 changes: 73 additions & 4 deletions src/day13.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
//! Day 13: Point of Incidence

use anyhow::Result;

/// A terrain data point.
Expand Down Expand Up @@ -222,8 +221,6 @@ fn is_reflection(rows: Vec<TerrainRow>, i: usize) -> bool {
///
/// Find the line of reflection in each of the patterns in your notes. *What
/// number do you get after summarizing all of your notes?*
///
/// To begin, get your puzzle input (<13/input>).
pub fn solve_part_1(input: &str) -> Result<u32> {
// Split the input ny two new lines.
let inputs = input.split("\n\n");
Expand All @@ -242,7 +239,79 @@ pub fn solve_part_1(input: &str) -> Result<u32> {
Ok(total)
}

/// Not yet unlocked.
/// You resume walking through the valley of mirrors and - *SMACK!* - run
/// directly into one. Hopefully nobody was watching, because that must have
/// been pretty embarrassing.
///
/// Upon closer inspection, you discover that every mirror has exactly one
/// *smudge*: exactly one `.` or `#` should be the opposite type.
///
/// In each pattern, you'll need to locate and fix the smudge that causes a
/// *different reflection line* to be valid. (The old reflection line won't
/// necessarily continue being valid after the smudge is fixed.)
///
/// Here's the above example again:
///
/// ```ignore
/// #.##..##.
/// ..#.##.#.
/// ##......#
/// ##......#
/// ..#.##.#.
/// ..##..##.
/// #.#.##.#.
///
/// #...##..#
/// #....#..#
/// ..##..###
/// #####.##.
/// #####.##.
/// ..##..###
/// #....#..#
/// ```
///
/// The first pattern's smudge is in the top-left corner. If the top-left `#`
/// were instead `.`, it would have a different, horizontal line of reflection:
///
/// ```ignore
/// 1 ..##..##. 1
/// 2 ..#.##.#. 2
/// 3v##......#v3
/// 4^##......#^4
/// 5 ..#.##.#. 5
/// 6 ..##..##. 6
/// 7 #.#.##.#. 7
/// ```
///
/// With the smudge in the top-left corner repaired, a new horizontal line of
/// reflection between rows 3 and 4 now exists. Row 7 has no corresponding
/// reflected row and can be ignored, but every other row matches exactly: row 1
/// matches row 6, row 2 matches row 5, and row 3 matches row 4.
///
/// In the second pattern, the smudge can be fixed by changing the fifth symbol
/// on row 2 from `.` to `#`:
///
/// ```ignore
/// 1v#...##..#v1
/// 2^#...##..#^2
/// 3 ..##..### 3
/// 4 #####.##. 4
/// 5 #####.##. 5
/// 6 ..##..### 6
/// 7 #....#..# 7
/// ```
///
/// Now, the pattern has a different horizontal line of reflection between rows
/// 1 and 2.
///
/// Summarize your notes as before, but instead use the new different reflection
/// lines. In this example, the first pattern's new horizontal line has 3 rows
/// above it and the second pattern's new horizontal line has 1 row above it,
/// summarizing to the value `*400*`.
///
/// In each pattern, fix the smudge and find the different line of reflection.
/// *What number do you get after summarizing the new reflection line in each
/// pattern in your notes?*
pub fn solve_part_2(_input: &str) -> Result<u32> {
todo!()
}
Expand Down

0 comments on commit 6796caf

Please sign in to comment.