| @@ -0,0 +1,28 @@ | |||
| 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() | |||