aoc-2020-zig

Advent of Code 2020 Solutions in Zig
git clone https://git.sinitax.com/sinitax/aoc-2020-zig
Log | Files | Refs | README | sfeed.txt

part1 (3553B)


      1--- Day 3: Toboggan Trajectory ---
      2
      3With the toboggan login problems resolved, you set off toward the airport. While travel by toboggan
      4might be easy, it's certainly not safe: there's very minimal steering and the area is covered in
      5trees. You'll need to see which angles will take you near the fewest trees.
      6
      7Due to the local geology, trees in this area only grow on exact integer coordinates in a grid. You
      8make a map (your puzzle input) of the open squares (.) and trees (#) you can see. For example:
      9
     10..##....... #...#...#.. .#....#..#. ..#.#...#.# .#...##..#. ..#.##..... .#.#.#....# .#........#
     11#.##...#... #...##....# .#..#...#.#
     12
     13These aren't the only trees, though; due to something you read about once involving arboreal
     14genetics and biome stability, the same pattern repeats to the right many times:
     15
     16..##.........##.........##.........##.........##.........##....... --->
     17#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..
     18.#....#..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#.
     19..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#
     20.#...##..#..#...##..#..#...##..#..#...##..#..#...##..#..#...##..#.
     21..#.##.......#.##.......#.##.......#.##.......#.##.......#.##..... --->
     22.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#
     23.#........#.#........#.#........#.#........#.#........#.#........#
     24#.##...#...#.##...#...#.##...#...#.##...#...#.##...#...#.##...#...
     25#...##....##...##....##...##....##...##....##...##....##...##....#
     26.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.# --->
     27
     28You start on the open square (.) in the top-left corner and need to reach the bottom (below the
     29bottom-most row on your map).
     30
     31The toboggan can only follow a few specific slopes (you opted for a cheaper model that prefers
     32rational numbers); start by counting all the trees you would encounter for the slope
     33right 3, down 1:
     34
     35From your starting position at the top-left, check the position that is right 3 and down 1. Then,
     36check the position that is right 3 and down 1 from there, and so on until you go past the bottom of
     37the map.
     38
     39The locations you'd check in the above example are marked here with O where there was
     40an open square and X where there was a tree:
     41
     42..##.........##.........##.........##.........##.........##....... --->
     43#..O#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..
     44.#....X..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#.
     45..#.#...#O#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#
     46.#...##..#..X...##..#..#...##..#..#...##..#..#...##..#..#...##..#.
     47..#.##.......#.X#.......#.##.......#.##.......#.##.......#.##..... --->
     48.#.#.#....#.#.#.#.O..#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#
     49.#........#.#........X.#........#.#........#.#........#.#........#
     50#.##...#...#.##...#...#.X#...#...#.##...#...#.##...#...#.##...#...
     51#...##....##...##....##...#X....##...##....##...##....##...##....#
     52.#..#...#.#.#..#...#.#.#..#...X.#.#..#...#.#.#..#...#.#.#..#...#.# --->
     53
     54In this example, traversing the map using this slope would cause you to encounter 7
     55trees.
     56
     57Starting at the top-left corner of your map and following a slope of right 3 and down 1,
     58how many trees would you encounter?
     59
     60