| 123456789101112131415161718192021222324252627 | def main():
    """
        horizontal position and vertical position both start at 0
        forward X increases forward (horizontal) position by X units
        down X increases depth (vertical position) by X units
        up X decreases depth (vertical position) by X units
        After following all instructions multiply final h_pos by final v_pos
    """
    h_pos, v_pos = 0, 0
    instructions = []
    with open("aoc2-1.txt", "r") as file:
        instructions = file.readlines()
    for inst in instructions:
        dir, amt = inst.strip().split(" ")
        amt = int(amt)
        if dir == "forward":
            h_pos += amt
        elif dir == "down":
            v_pos += amt
        elif dir == "up":
            v_pos -= amt
        else:
            raise ValueError(f"Unrecognized direction: {h_pos}")
    return (h_pos * v_pos)
if __name__ == "__main__":
    print(main())
 |