advent2022/five.py

17 lines
686 B
Python
Raw Permalink Normal View History

2022-12-05 07:36:39 +02:00
#!/usr/bin/env python3
from useful import *
beg, rec = headerfooter(open(0))
begl = beg.split('\n')
a = np.asarray([c for l in begl for c in l]).reshape((len(begl), -1)).T[1::4,::-1]
dock = [None, *[deque(c for c in l if not c in '0123456789 ') for l in a]]
2022-12-05 20:31:03 +02:00
twock = [None, *[deque(c for c in l if not c in '0123456789 ') for l in a]]
2022-12-05 07:36:39 +02:00
for l in rec.strip().split('\n'):
num, src, dst = (int(n) for n in re.match(r'move (\d+) from (\d+) to (\d+)', l).groups())
2022-12-05 20:31:03 +02:00
dock[dst].extend(dock[src].pop() for i in range(num)) # ugh
twock[dst].extend([twock[src].pop() for i in range(num)][::-1])
2022-12-05 07:36:39 +02:00
print(''.join([d.pop() for d in dock[1:]]))
2022-12-05 20:31:03 +02:00
print(''.join([d.pop() for d in twock[1:]]))