adventofcode2023

Contents:

  • Automatic documentation
  • Continuous Integration
  • adventofcode2023
    • day01 package
    • day02 package
    • day03 package
    • day04 package
    • day05 package
    • day06 package
    • day07 package
    • day08 package
    • day09 package
    • day10 package
    • day11 package
    • day12 package
    • day13 package
    • day14 package
    • day15 package
    • day16 package
    • day17 package
    • day18 package
    • day19 package
    • day20 package
    • day21 package
    • day22 package
    • day23 package
      • Subpackages
        • day23.lib package
        • day23.tests package
      • Submodules
      • day23.day23 module
        • main()
        • part1()
        • part2()
      • Module contents
    • day24 package
    • day25 package
    • download_inputs module
    • maker module
adventofcode2023
  • adventofcode2023
  • day23 package
  • View page source

day23 package

Subpackages

  • day23.lib package
    • Submodules
    • day23.lib.classes module
      • Maze
        • Maze.copy()
        • Maze.get_cell_branches()
        • Maze.grid
        • Maze.is_oob()
        • Maze.num_cols
        • Maze.num_rows
      • Path
        • Path.add()
        • Path.can_add()
        • Path.copy()
        • Path.flip()
        • Path.last()
        • Path.nodes
        • Path.overlay()
        • Path.route
      • Position
        • Position.col
        • Position.copy_modify()
        • Position.expand()
        • Position.row
      • Solver1
        • Solver1.expand_hill()
        • Solver1.expand_path()
        • Solver1.handle_hills
        • Solver1.maze
        • Solver1.solve()
      • generate_paths()
    • day23.lib.classes2 module
      • Edge
        • Edge.flip()
        • Edge.length
        • Edge.node1
        • Edge.node2
        • Edge.path
      • Node
        • Node.edges
        • Node.name
        • Node.position
      • Solver2
        • Solver2.build_nodes()
        • Solver2.calculate_edges()
        • Solver2.expand_path()
        • Solver2.get_nodes()
        • Solver2.input_maze
        • Solver2.solve()
      • solve2()
      • solve2_helper()
    • day23.lib.parsers module
      • get_maze()
    • Module contents
  • day23.tests package
    • Submodules
    • day23.tests.test_classes module
      • test_generate_paths()
      • test_maze()
      • test_path()
      • test_position()
      • test_solver1()
    • day23.tests.test_classes2 module
      • test_solver2()
    • day23.tests.test_day23 module
      • test_part1()
      • test_part2()
      • test_solver()
    • day23.tests.test_parsers module
      • test_get_maze()
    • Module contents

Submodules

day23.day23 module

Day23 solution.

day23.day23.main() → None[source]

Read data then solve part1/part2.

day23.day23.part1(maze: Maze) → int[source]

Solve part1 (maximal distance given one-ways).

day23.day23.part2(maze: Maze) → int[source]

Solve part2 (maximal distance, no one-ways).

Module contents

Day23 solution.

Previous Next

© Copyright 2023, Alex Ong.

Built with Sphinx using a theme provided by Read the Docs.