46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
import sys
|
|
from pprint import pprint
|
|
|
|
arr = []
|
|
|
|
if sys.argv[1] == "test_input":
|
|
stacks = [['N','Z'],['D', 'C','M'], ['P']]
|
|
else:
|
|
stacks = [['Q','F','L','S','R'],['T','P','G','Q','Z','N'],['B','Q','M','S'],['Q','B','C','H','J','Z','G','T'],['S','F','N','B','M','H','P'],['G','V','L','S','N','Q','C','P'],['F','C','W'],['M','P','V','W','Z','G','H','Q'],['R','N','C','L','D','Z','G']]
|
|
|
|
|
|
with open(sys.argv[1],"r") as f:
|
|
line = [line.rstrip('\n') for line in f]
|
|
|
|
for i in range(0,len(line)):
|
|
arr.append([int(x) for x in line[i].split() if x.isdigit()])
|
|
|
|
pprint(arr)
|
|
pprint(stacks)
|
|
print('----')
|
|
for i in arr:
|
|
temp = []
|
|
#print('pre: ' + str(stacks))
|
|
#print('move ' + str(i[0]) + ' letter from stack ' + str(i[1]) + ' to stack ' + str(i[2]) )
|
|
for j in range(0,i[0]):
|
|
#print('range: ' + str(0) + ' to ' + str(i[0]))
|
|
#print('move ' + str(stacks[i[1]-1][0] + ' from '), end="")
|
|
#print('' + str(stacks[i[1]-1]), end="")
|
|
#print(' to ' + str(stacks[i[2]-1]))
|
|
temp += stacks[i[1]-1].pop(0)
|
|
if len(temp) > 1:
|
|
temp.reverse()
|
|
#print('stacks:: ' + str(temp))
|
|
#print(i[0])
|
|
if len(temp) != 0:
|
|
for l in temp:
|
|
stacks[i[2]-1].insert(0,l)
|
|
else:
|
|
print('somehow temp length is 0')
|
|
temp = []
|
|
#print('post: ' + str(stacks))
|
|
|
|
for i in stacks:
|
|
print(i[0],end="")
|
|
print()
|