2020/python/day10.py

38 lines
796 B
Python

import fileinput
import itertools
from collections import deque
adapters = [0]
for line in fileinput.input():
adapters.append(int(line))
adapters.sort()
adapters.append(adapters[-1] + 3)
one = 0
three = 0
for (fr, to) in zip(adapters[:-1], adapters[1:]):
if to - fr == 1:
one += 1
elif to - fr == 3:
three += 1
print(fr, to)
print(one, three, one * three)
paths = [0] * len(adapters)
paths[0] = 1
ways = 1
for i, value in enumerate(adapters[:-1]):
try:
if adapters[i + 1] <= value + 3:
paths[i + 1] += paths[i]
if adapters[i + 2] <= value + 3:
paths[i + 2] += paths[i]
if adapters[i + 3] <= value + 3:
paths[i + 3] += paths[i]
except IndexError:
pass
print(paths)
print(paths[-1])