26 lines
460 B
Python
26 lines
460 B
Python
from lib import *
|
|
|
|
input = read_input(2016, 16).strip()
|
|
|
|
|
|
def fill(state, n):
|
|
while len(state) < n:
|
|
state = state + "0" + "".join("10"[c == "1"] for c in reversed(state))
|
|
|
|
return state[:n]
|
|
|
|
|
|
def checksum(inp):
|
|
if len(inp) % 2:
|
|
return inp
|
|
|
|
out = ""
|
|
|
|
for i in range(0, len(inp), 2):
|
|
out += "01"[inp[i] == inp[i + 1]]
|
|
|
|
return checksum(out)
|
|
|
|
|
|
print(checksum(fill(input, 272)))
|
|
print(checksum(fill(input, 35651584)))
|