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[1m[37m..##.......[0m..##.........##.........##.........##.........##....... ---> 17[1m[37m#...#...#..[0m#...#...#..#...#...#..#...#...#..#...#...#..#...#...#.. 18[1m[37m.#....#..#.[0m.#....#..#..#....#..#..#....#..#..#....#..#..#....#..#. 19[1m[37m..#.#...#.#[0m..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.# 20[1m[37m.#...##..#.[0m.#...##..#..#...##..#..#...##..#..#...##..#..#...##..#. 21[1m[37m..#.##.....[0m..#.##.......#.##.......#.##.......#.##.......#.##..... ---> 22[1m[37m.#.#.#....#[0m.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....# 23[1m[37m.#........#[0m.#........#.#........#.#........#.#........#.#........# 24[1m[37m#.##...#...[0m#.##...#...#.##...#...#.##...#...#.##...#...#.##...#... 25[1m[37m#...##....#[0m#...##....##...##....##...##....##...##....##...##....# 26[1m[37m.#..#...#.#[0m.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.# ---> 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 [1m[37mcounting all the trees[0m you would encounter for the slope 33[1m[37mright 3, down 1[0m: 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 [1m[37mO[0m where there was 40an open square and [1m[37mX[0m where there was a tree: 41 42..##.........##.........##.........##.........##.........##....... ---> 43#..[1m[37mO[0m#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#.. 44.#....[1m[37mX[0m..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#. 45..#.#...#[1m[37mO[0m#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.# 46.#...##..#..[1m[37mX[0m...##..#..#...##..#..#...##..#..#...##..#..#...##..#. 47..#.##.......#.[1m[37mX[0m#.......#.##.......#.##.......#.##.......#.##..... ---> 48.#.#.#....#.#.#.#.[1m[37mO[0m..#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....# 49.#........#.#........[1m[37mX[0m.#........#.#........#.#........#.#........# 50#.##...#...#.##...#...#.[1m[37mX[0m#...#...#.##...#...#.##...#...#.##...#... 51#...##....##...##....##...#[1m[37mX[0m....##...##....##...##....##...##....# 52.#..#...#.#.#..#...#.#.#..#...[1m[37mX[0m.#.#..#...#.#.#..#...#.#.#..#...#.# ---> 53 54In this example, traversing the map using this slope would cause you to encounter [1m[37m7[0m 55trees. 56 57Starting at the top-left corner of your map and following a slope of right 3 and down 1, 58[1m[37mhow many trees would you encounter?[0m 59 60