Exemplo n.º 1
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
Exemplo n.º 2
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip()

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 758
    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 814
Exemplo n.º 3
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip()

    p1, p1_time = api.time_it(part2, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == '62934785'

    p2, p2_time = api.time_it(part2, data, True)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 693659135400
Exemplo n.º 4
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 30869

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 4381476149273
Exemplo n.º 5
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1[0], p1_time))
    assert p1[0] == 2287

    p2, p2_time = api.time_it(part2, data, p1[1])
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 'fntg,gtqfrp,xlvrggj,rlsr,xpbxbv,jtjtrd,fvjkp,zhszc'
Exemplo n.º 6
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 15919415426101

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 3443997590975
Exemplo n.º 7
0
def solve():
    test_rotate()
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 521

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 22848
Exemplo n.º 8
0
def solve():
    test()
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 30753705453324

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 244817530095503
Exemplo n.º 9
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")
    data = list(map(int, data))

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))

    p2, p2_time = api.time_it(part2, data, p1)
    print("Part two {}, it took {} ms".format(p2, p2_time))

    assert p1 == 1212510616
    assert p2 == 171265123
Exemplo n.º 10
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip()

    tiles = parse_input(data)
    find_matches(tiles)

    p1, p1_time = api.time_it(part1, tiles)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 79412832860579

    p2, p2_time = api.time_it(part2, tiles)
    print("Part two {}, it took {} ms".format(p2, p2_time))
    assert p2 == 2155
Exemplo n.º 11
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")
    data = list(map(int, data))

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))

    data = input_.strip().split("\n")
    data = list(map(int, data))

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))

    assert p1 == 2201
    assert p2 == 169255295254528
Exemplo n.º 12
0
def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))
    assert p1 == 6198540
Exemplo n.º 13
0
    while True:
        turns += 1
        index = 0
        max_ = banks[index]
        for i in range(0, len_):
            if banks[i] > max_:
                max_ = banks[i]
                index = i

        blocks = banks[index]
        banks[index] = 0

        for _ in range(0, blocks):
            index += 1
            banks[index % len_] += 1
        e = ''.join(map(str, banks))
        if e in existing:
            print("It took {} turns (part one)".format(turns))
            assert turns == 3156
            prev = existing.index(e)
            part2 = turns - prev
            assert part2 == 1610
            print("The infinite loop contains {} cycles (part two)".format(
                part2))
            break
        existing.append(e)


api.time_it(solve)
Exemplo n.º 14
0
        adapter = adapters[joltage]
        for child in adapter.children:
            adapter.total_number_of_children += child.total_number_of_children
    sum_ = 0
    for a in range(1, 4):
        if a in adapters:
            sum_ += adapters[a].total_number_of_children
    return sum_


def solve():
    input_ = api.fetch(YEAR, DAY)
    data = input_.strip().split("\n")
    data = list(map(int, data))

    p1, p1_time = api.time_it(part1, data)
    print("Part one {}, it took {} ms".format(p1, p1_time))

    data = input_.strip().split("\n")
    data = list(map(int, data))

    p2, p2_time = api.time_it(part2, data)
    print("Part two {}, it took {} ms".format(p2, p2_time))

    assert p1 == 2201
    assert p2 == 169255295254528


_, t = api.time_it(solve)
print("Total time {} ms".format(t))