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))
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
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
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
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'
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
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
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
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
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
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
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
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)
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))