25 lines
545 B
Python
25 lines
545 B
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
import numpy as np
|
||
|
import re
|
||
|
|
||
|
piles = []
|
||
|
|
||
|
a = open("05/i").read().split("\n\n")
|
||
|
b = list(reversed(a[0].split("\n")))
|
||
|
|
||
|
for l in b:
|
||
|
temp = []
|
||
|
for i in range(0,len(l),4):
|
||
|
temp.append(l[i+1].strip())
|
||
|
piles.append(temp)
|
||
|
|
||
|
piles=[[i for i in x if i] for x in np.transpose(piles)]
|
||
|
|
||
|
for l in a[1].strip().split("\n"):
|
||
|
c=list(map(int,re.search("move (\d+) from (\d+) to (\d+)",l).groups()))
|
||
|
piles[c[2]-1].extend(piles[c[1]-1][-c[0]:])
|
||
|
del piles[c[1]-1][-c[0]:]
|
||
|
|
||
|
d = [i.pop() for i in piles]
|
||
|
print(d)
|