Exemplo n.º 1
0
def run(input_file):
    with timing("Day 16: Flawed Frequency Transmission"):
        for line in process(input_file):
            part1 = solve_part1(line[:], 100)
            part2 = solve_part2(line[:], 100)
    print(part1)
    print(part2)
Exemplo n.º 2
0
def run(input_file):
    with timing("Day 6: Universal Orbit Map"):
        graph = create_graph(input_file)
        part1 = solve_part1(graph)
        part2 = solve_part2(graph)
    print(part1)
    print(part2)
Exemplo n.º 3
0
def run(input_file):
    with timing("Day 10: Monitoring Station"):
        asteroids = get_asteroids(input_file)
        msl, part1 = solve_part1(asteroids)
        part2 = solve_part2(msl, asteroids)
    print(part1)
    print(part2)
Exemplo n.º 4
0
def run(input_file):
    line = next(process(input_file))
    with timing("Day 4: Secure Container"):
        low, high = [int(n) for n in line.split("-")]
        part1, part2 = solve_part1_and_part2(low, high)
    print(part1)
    print(part2)
Exemplo n.º 5
0
async def run(input_file):
    with timing("Day 7: Amplification Circuit - async"):
        line = next(process(input_file))
        part1 = await solve_part1(line)
        part2 = await solve_part2(line)
    print(part1)
    print(part2)
Exemplo n.º 6
0
def run(input_file):
    line = next(process(input_file))
    with timing("Day 13: Care Package"):
        part1 = solve_part1(line)
        part2 = solve_part2(line)
    print(part1)
    print(part2)
Exemplo n.º 7
0
def run(input_file):
    width, height = 25, 6
    with timing("Day 8: Space Image Format"):
        line = next(process(input_file))
        part1 = solve_part1(line, width, height)
        part2 = solve_part2(line, width, height)
    print(part1)
    _print_image(part2, width, height)
Exemplo n.º 8
0
def run(input_file):
    line = next(process(input_file))
    with timing("Day 9: Sensor Boost"):
        part1 = ICComputer(get_program(line), 1, [])
        part2 = ICComputer(get_program(line), 2, [])
        part1.run()
        part2.run()
    print(part1.output[0])
    print(part2.output[0])
Exemplo n.º 9
0
def run(input_file):
    with timing("Day 12: The N-Body Problem"):
        part1 = solve_part1([
            Moon(Vector(x=-16, y=-1, z=-12), Vector(0, 0, 0)),
            Moon(Vector(x=0, y=-4, z=-17), Vector(0, 0, 0)),
            Moon(Vector(x=-11, y=11, z=0), Vector(0, 0, 0)),
            Moon(Vector(x=2, y=2, z=-6), Vector(0, 0, 0)),
        ])

        part2 = solve_part2([
            Moon(Vector(x=-16, y=-1, z=-12), Vector(0, 0, 0)),
            Moon(Vector(x=0, y=-4, z=-17), Vector(0, 0, 0)),
            Moon(Vector(x=-11, y=11, z=0), Vector(0, 0, 0)),
            Moon(Vector(x=2, y=2, z=-6), Vector(0, 0, 0)),
        ])

    print(part1)
    print(part2)
Exemplo n.º 10
0
            output.append(data)
            pc += 2
        elif opcode == 5 or opcode == 6:  # not equal or equal to 0
            parameter1 = get_value(inst, 1)
            parameter2 = get_value(inst, 2)
            if ops[opcode](parameter1, 0):
                pc = parameter2
            else:
                pc += 3
        elif opcode == 7 or opcode == 8:  # less than or equal
            if ops[opcode](get_value(inst, 1), get_value(inst, 2)):
                p[get_index(inst, 3)] = 1
            else:
                p[get_index(inst, 3)] = 0
            pc += 4
        elif opcode == 9:
            base += get_value(inst, 1)
            pc += 2
        else:
            print("unknown opcode", p[pc])
            break
    return output


line = next(process("input/9"))
with timing("Day 9: Sensor Boost"):
    part1 = icc(line, 1)
    part2 = icc(line, 2)
print(part1[0])
print(part2[0])
Exemplo n.º 11
0
def run(input_file):
    with timing("Day 5: Sunny with a Chance of Asteroids"):
        part1 = run_program(get_intcodes(input_file), 1)
        part2 = run_program(get_intcodes(input_file), 5)
    print(part1)
    print(part2)
Exemplo n.º 12
0
def run(input_file):
    with timing("Day 11: Space Police"):
        part1 = solve_part1(get_program(next(process(input_file))))
        part2 = solve_part2(get_program(next(process(input_file))))
    print(part1)
    print(part2)
Exemplo n.º 13
0
def run(input_file):
    with timing("Day 2: 1202 Program Alarm"):
        part1 = solve_part1(get_intcodes(input_file))
        part2 = solve_part2(get_intcodes(input_file))
    print(part1)
    print(part2)
Exemplo n.º 14
0
def run(input_file):
    with timing("Day 1: The Tyranny of the Rocket Equation"):
        part1, part2 = solve_part1_and_2(input_file)
    print(part1)
    print(part2)
Exemplo n.º 15
0
def run(input_file):
    with timing("Day 3: Crossed Wires"):
        part1, part2 = solve_part1_and_part2(get_wires(input_file))
    print(part1)
    print(part2)
Exemplo n.º 16
0
def run(input_file):
    with timing("Day 14: Space Stoichiometry"):
        part1 = solve_part1(get_reactions(input_file))
        part2 = solve_part2(get_reactions(input_file))
    print(part1)
    print(part2)
Exemplo n.º 17
0
def run(input_file):
    with timing("template"):
        for line in process(input_file):
            solve_part1(line)
            solve_part2(line)