advent2022/five.py

17 lines
686 B
Python
Executable File

#!/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]]
twock = [None, *[deque(c for c in l if not c in '0123456789 ') for l in a]]
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())
dock[dst].extend(dock[src].pop() for i in range(num)) # ugh
twock[dst].extend([twock[src].pop() for i in range(num)][::-1])
print(''.join([d.pop() for d in dock[1:]]))
print(''.join([d.pop() for d in twock[1:]]))