コード例 #1
0
ファイル: day_19.py プロジェクト: wrenoud/aoc2019

def part1(data):
    coords = []
    effects = []
    canvas = Canvas({0: " ", 1: "#"}, inverted=False)
    for x in range(50):
        for y in range(50):
            coord = Coord(x, y)
            stdout = computer.Run(data[:], stdin(coord))
            coords.append(coord)
            effects.append(next(stdout))

            canvas.paint(coord, effects[-1])
        print(x)
    zip(coords, effects)

    util.Answer(1, sum(effects))

    print(canvas)


def part2(data):
    util.Answer(2, None)


if __name__ == "__main__":
    data = format_program(util.ReadPuzzle())
    part1(copy(data))
    part2(copy(data))
コード例 #2
0
        message = output
        print("Completed:", r)
    return message[offset:offset + 8]


def part1(data):
    start = time.clock()
    util.Answer(1, "".join(str(v) for v in fft(data, 0)))
    print("Duration:", time.clock() - start)


def part2(data):
    offset = int("".join(str(v) for v in data[:7]))
    message = []
    for i in range(10000):
        message += data
    print("Started 2")
    util.Answer(2, fft(message, offset))


if __name__ == "__main__":
    data = util.ReadPuzzle()
    # data = ["80871224585914546619083218645595"] # 24176176
    # data = ["12345678"]
    puzzle = []
    for ch in data[0]:
        puzzle.append(int(ch))

    part1(puzzle)
    part2(puzzle)