11: Py: Just use lists to hold items
This commit is contained in:
parent
7b51b5820b
commit
0a9f3c078d
|
@ -1,7 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from collections import deque
|
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from math import prod
|
from math import prod
|
||||||
|
|
||||||
|
@ -13,7 +12,7 @@ for l in sys.stdin:
|
||||||
monkeys.append({})
|
monkeys.append({})
|
||||||
monkeys[-1]["count"] = 0
|
monkeys[-1]["count"] = 0
|
||||||
elif l.startswith("S"):
|
elif l.startswith("S"):
|
||||||
monkeys[-1]["items"] = deque(int(x) for x in l[16:].split(", "))
|
monkeys[-1]["items"] = [int(x) for x in l[16:].split(", ")]
|
||||||
elif l.startswith("O"):
|
elif l.startswith("O"):
|
||||||
monkeys[-1]["op"] = l[17:]
|
monkeys[-1]["op"] = l[17:]
|
||||||
elif l.startswith("T"):
|
elif l.startswith("T"):
|
||||||
|
@ -27,20 +26,20 @@ monkeysG = deepcopy(monkeys)
|
||||||
|
|
||||||
for it in range(20):
|
for it in range(20):
|
||||||
for m in monkeys:
|
for m in monkeys:
|
||||||
while len(m["items"]):
|
for old in m["items"]:
|
||||||
m["count"] += 1
|
m["count"] += 1
|
||||||
old = m["items"].popleft()
|
|
||||||
new = eval(m["op"]) // 3
|
new = eval(m["op"]) // 3
|
||||||
monkeys[m[not (new % m["test"])]]["items"].append(new)
|
monkeys[m[not (new % m["test"])]]["items"].append(new)
|
||||||
|
m["items"].clear()
|
||||||
|
|
||||||
ohmygodihateyoueric = prod(m["test"] for m in monkeys)
|
ohmygodihateyoueric = prod(m["test"] for m in monkeys)
|
||||||
for it in range(10000):
|
for it in range(10000):
|
||||||
for m in monkeysG:
|
for m in monkeysG:
|
||||||
while len(m["items"]):
|
for old in m["items"]:
|
||||||
m["count"] += 1
|
m["count"] += 1
|
||||||
old = m["items"].popleft()
|
|
||||||
new = eval(m["op"]) % ohmygodihateyoueric
|
new = eval(m["op"]) % ohmygodihateyoueric
|
||||||
monkeysG[m[not (new % m["test"])]]["items"].append(new)
|
monkeysG[m[not (new % m["test"])]]["items"].append(new)
|
||||||
|
m["items"].clear()
|
||||||
|
|
||||||
resS = sorted(m["count"] for m in monkeys)[-2:]
|
resS = sorted(m["count"] for m in monkeys)[-2:]
|
||||||
resG = sorted(m["count"] for m in monkeysG)[-2:]
|
resG = sorted(m["count"] for m in monkeysG)[-2:]
|
||||||
|
|
Loading…
Reference in New Issue