aoc2017/day11.py
Stefan Harmuth 92d839a4e8 day11
2022-11-29 20:37:24 +01:00

37 lines
954 B
Python

from tools.aoc import AOCDay
from typing import Any
from tools.coordinate import HexCoordinateF, DistanceAlgorithm
class Day(AOCDay):
inputs = [
[
(796, "input11")
],
[
(1585, "input11")
]
]
def part1(self) -> Any:
start = HexCoordinateF(0, 0, 0)
for x in self.getInputAsArraySplit(','):
start += HexCoordinateF.neighbour_vectors[x]
return start.getDistanceTo(HexCoordinateF(0, 0, 0), DistanceAlgorithm.MANHATTAN)
def part2(self) -> Any:
init = HexCoordinateF(0, 0, 0)
start = HexCoordinateF(0, 0, 0)
max_dist = 0
for x in self.getInputAsArraySplit(','):
start += HexCoordinateF.neighbour_vectors[x]
max_dist = max(max_dist, start.getDistanceTo(init, DistanceAlgorithm.MANHATTAN))
return max_dist
if __name__ == '__main__':
day = Day(2017, 11)
day.run(verbose=True)