Skip to content

Instantly share code, notes, and snippets.

@joncol
Created January 5, 2022 19:10
Show Gist options
  • Save joncol/b61f9296c2540699c1b3b03840e678e4 to your computer and use it in GitHub Desktop.
Save joncol/b61f9296c2540699c1b3b03840e678e4 to your computer and use it in GitHub Desktop.
day24.py
from collections import deque
import fileinput
def main():
x = y = z = w = 0
for line in fileinput.input():
inp = deque(line)
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 12
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 6
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 10
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 2
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 10
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 13
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -6
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 8
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 11
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 13
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -12
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 8
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 11
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 3
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 12
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 11
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 1
x += 12
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 10
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -2
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 8
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -5
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 14
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -4
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 6
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -4
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 8
y *= x
z += y
w = int(inp.popleft())
x *= 0
x += z
x %= 26
z //= 26
x += -12
x = 1 if x == w else 0
x = 1 if x == 0 else 0
y *= 0
y += 25
y *= x
y += 1
z *= y
y *= 0
y += w
y += 2
y *= x
z += y
print('Result for {}: {}', line, z)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment