Roderic Day pirms 2 gadiem
vecāks
revīzija
629db17880
1 mainītis faili ar 22 papildinājumiem un 0 dzēšanām
  1. +22
    -0
      y2022/p20.py

+ 22
- 0
y2022/p20.py Parādīt failu

@@ -0,0 +1,22 @@
from collections import deque


def run(src, cycles=1, factor=1):
els = deque([(i, int(n) * factor) for i, n in enumerate(src)])
zero, = [el for el in els if el[1] == 0]
order = list(els)
for _ in range(cycles):
for el in order:
idx = els.index(el)
els.rotate(-idx)
els.popleft()
els.rotate(-el[1])
els.appendleft(el)
idx = els.index(zero)
els.rotate(-idx)
return sum(els[n % len(els)][1] for n in [1000, 2000, 3000])


els = open(0).read().splitlines()
print(run(els))
print(run(els, cycles=10, factor=811589153))

Notiek ielāde…
Atcelt
Saglabāt