コード例 #1
0
def cli_main() -> None:
    input_funcs = [parse_input]
    data = aoc.load_and_process_input(INPUT, input_funcs)
    aoc.run_tests(TEST, TA1, TA2, A1, input_funcs, process_one, process_two)
    result_one = process_one(data)
    result_two = process_two(data)
    aoc.finish(result_one, A1, result_two, A2)
コード例 #2
0
def main():
    aoc.header("Amplification Circuit")
    aoc.run_tests()

    program = list(map(int, aoc.get_input().readline().split(",")))
    aoc.output(1, part1, args=[program])
    aoc.output(2, part2, args=[program])
コード例 #3
0
def main():
    aoc.header("1202 Program Alarm")
    aoc.run_tests()

    aoc.output(1, part1)
    aoc.output(2, part2, comment="Nested loop")
    aoc.output(2, part2_mp, comment="Multiprocessing")
コード例 #4
0
def cli_main() -> None:
    input_funcs = [partial(splitstrip, sep=","), partial(lmap, int)]
    data = aoc.load_and_process_input(INPUT, input_funcs)
    aoc.run_tests(TEST, TA1, TA2, A1, input_funcs, process_one, process_two)
    result_one = process_one(data)
    result_two = process_two(data)
    aoc.finish(result_one, A1, result_two, A2)
コード例 #5
0
ファイル: day05.py プロジェクト: LukeMoll/adventofcode2019
def main():
    aoc.header("Sunny with a Chance of Asteroids")
    aoc.run_tests()

    test_program = list(map(int, aoc.get_input().readline().split(",")))
    aoc.output(1, run, args=[test_program, [1], INSTRUCTIONS_P1])
    aoc.output(2, run, args=[test_program, [5], INSTRUCTIONS_P2])
コード例 #6
0
def main():
    aoc.header("Sensor Boost")
    aoc.run_tests()

    program = list(map(int,aoc.get_input().readline().split(",")))
    aoc.output(1, part, args=[program, [1]])
    aoc.output(2, part, args=[program, [2]])
コード例 #7
0
def main():
    aoc.header("Secure Container")
    aoc.run_tests()

    (lower, upper) = aoc.get_input().readline().split("-")
    aoc.output(1, part, args=[int(lower), int(upper), validate_p1])
    aoc.output(2, part, args=[int(lower), int(upper), validate_p2])
コード例 #8
0
ファイル: day06.py プロジェクト: LukeMoll/adventofcode2019
def main():
    aoc.header("Universal Orbit Map")
    aoc.run_tests()

    orbits = aoc.get_input().readlines()
    output = aoc.output(1, part1, args=[orbits], post=itemgetter(0))
    aoc.output(2, part2_graph, args=[orbits, *output[1:]], comment="Dijstra's algorithm")
    aoc.output(2, part2_ancestor, args=[orbits, *output[1:]], comment="Common ancestor")
コード例 #9
0
ファイル: day08.py プロジェクト: LukeMoll/adventofcode2019
def main():
    aoc.header("Space Image Format")
    aoc.run_tests()

    data = aoc.get_input().readline().strip()

    s = Size(width=25, height=6)
    (_, layers) = aoc.output(1, part1, args=[data, s], post=itemgetter(0))
    aoc.output(2, part2, args=[layers, s], post=lambda i: (i, s), output=lambda t: print_image4(t[0], t[1]))
コード例 #10
0
def cli_main() -> None:
    input_funcs = [splitstriplines, make_grid]
    data = aoc.load_and_process_input(INPUT, input_funcs)
    aoc.run_tests(TEST, TA1, TA2, A1, input_funcs, process_one, process_two)
    result_one = process_one(data)
    print(result_one)
    data = aoc.load_and_process_input(INPUT, input_funcs)
    result_two = process_two(data)
    aoc.finish(result_one, A1, result_two, A2)
コード例 #11
0
ファイル: day03.py プロジェクト: LukeMoll/adventofcode2019
def main():
    aoc.header("Crossed Wires")
    aoc.run_tests()

    inp = aoc.get_input()
    path_a = list(inp.readline().split(","))
    path_b = list(inp.readline().split(","))
    aoc.output(1, part1, args=[path_a, path_b])
    aoc.output(2, part2, args=[path_a, path_b])
コード例 #12
0
def cli_main() -> None:
    input_funcs = [splitstriplines, parse_lines]
    data = aoc.load_and_process_input(INPUT, input_funcs)
    aoc.run_tests(TEST, TA1, TA2, A1, input_funcs, process_one, process_two)
    result_one = process_one(data)
    result_two = process_two(data)
    try:
        if A1 is not None:
            assert result_one == A1
        print("Answer one:", result_one)
        if A2 is not None:
            assert result_two == A2
        print("Answer two:", result_two)
    except AssertionError:
        pdb.set_trace()
コード例 #13
0
def cli_main() -> None:
    input_funcs = [parse_data]
    data = aoc.load_and_process_input(INPUT, input_funcs)
    aoc.run_tests(TEST, TA1, TA2, A1, input_funcs, process_one, process_two)
コード例 #14
0
ファイル: day10.py プロジェクト: LukeMoll/adventofcode2019
def main():
    aoc.header("Monitoring Station")
    aoc.run_tests()

    (asteroids, edge, station, _) = aoc.output(1, part1, post=itemgetter(3))
    aoc.output(2, part2, args=[asteroids, edge, station])
コード例 #15
0
def main():
    aoc.header("The Tyranny of the Rocket Equation")
    aoc.run_tests()

    aoc.output(1, part1)
    aoc.output(2, part2)
コード例 #16
0
def main():
    aoc.header("The N-Body Problem")
    aoc.run_tests()

    aoc.output(1, part1)