12345678910111213141516171819202122232425262728 |
- from functools import reduce
-
- def main():
- with open("input3.txt") as file:
- lines = file.readlines()
- grid = [list(line.strip()) for line in lines]
- print(grid[0])
- wrap = len(grid[0])
- treebumps = []
- routes = [[1,1],[3,1],[5,1],[7,1],[1,2]]
- for route in routes:
- coords = [0,0] # x, y - across, down
- trees = 0
- while coords[1] < len(grid):
- if grid[coords[1]][coords[0]] == "#":
- trees += 1
- coords[0] = coords[0] + route[0]
- coords[1] = coords[1] + route[1]
- if coords[0] >= wrap:
- coords[0] = coords[0] - wrap
- print(f"It's been a long toboggan trip going {route[0]} right and {route[1]} down, and I encountered {trees} trees.")
- treebumps.append(trees)
- total = reduce((lambda x,y: x*y), treebumps)
- print(f"I encountered these trees: {treebumps} - those produce {total}.")
-
-
- if __name__ == "__main__":
- main()
|