day21 package
Subpackages
- day21.lib package
- Submodules
- day21.lib.classes module
BaseDistanceMazeDistanceMazeDistanceMazesGiantNodeParserGiantNodeTypeGiantNodeType.EAST_TIPGiantNodeType.FULL_EVENGiantNodeType.FULL_ODDGiantNodeType.NORTH_EAST_BIGGiantNodeType.NORTH_EAST_SMALLGiantNodeType.NORTH_TIPGiantNodeType.NORTH_WEST_BIGGiantNodeType.NORTH_WEST_SMALLGiantNodeType.SOUTH_EAST_BIGGiantNodeType.SOUTH_EAST_SMALLGiantNodeType.SOUTH_TIPGiantNodeType.SOUTH_WEST_BIGGiantNodeType.SOUTH_WEST_SMALLGiantNodeType.WEST_TIP
MazePositionPositionDist
- day21.lib.parsers module
- Module contents
Submodules
day21.day21 module
day21 solution.
- class day21.day21.SmartSteps(boards_to_edge: int, steps: int)[source]
Bases:
objectHow many boards to edge of solution, and steps to simulate.
- boards_to_edge: int
- steps: int
- day21.day21.calculate_smart_steps(board_size: int, steps: int) SmartSteps[source]
Given a board size and num steps, calculate how many steps we actually need.
- day21.day21.mini_solve(start_pos: Position, maze: Maze, steps: int, distances: BaseDistanceMaze) BaseDistanceMaze[source]
Given a BaseDistanceMaze, runs steps steps then returns the maze.
- day21.day21.naive_solve(start_pos: Position, maze: Maze, steps: int, distances: BaseDistanceMaze) int[source]
Naively solve a maze.
Module contents
Day21 solution.