Skip to content
Snippets Groups Projects
Verified Commit c21ae82d authored by mirabilos's avatar mirabilos Committed by mirabilos
Browse files

part b is unexpectedly tricky, but this one worked

parent ced7b74b
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python3
npad = {
'A': {
'A': 'A',
'0': '<A',
'1': '^<<A',
'2': '<^A',
'3': '^A',
'4': '^^<<A',
'5': '<^^A',
'6': '^^A',
'7': '^^^<<A',
'8': '<^^^A',
'9': '^^^A',
},
'0': {
'A': '>A',
'0': 'A',
'1': '^<A',
'2': '^A',
'3': '^>A',
'4': '^^<A',
'5': '^^A',
'6': '^^>A',
'7': '^^^<A',
'8': '^^^A',
'9': '^^^>A',
},
'1': {
'A': '>>vA',
'0': '>vA',
'1': 'A',
'2': '>A',
'3': '>>A',
'4': '^A',
'5': '^>A',
'6': '^>>A',
'7': '^^A',
'8': '^^>A',
'9': '^^>>A',
},
'2': {
'A': 'v>A',
'0': 'vA',
'1': '<A',
'2': 'A',
'3': '>A',
'4': '<^A',
'5': '^A',
'6': '^>A',
'7': '<^^A',
'8': '^^A',
'9': '^^>A',
},
'3': {
'A': 'vA',
'0': 'v<A',
'1': '<<A',
'2': '<A',
'3': 'A',
'4': '<<^A',
'5': '<^A',
'6': '^A',
'7': '<<^^A',
'8': '<^^A',
'9': '^^A',
},
'4': {
'A': '>>vvA',
'0': '>vvA',
'1': 'vA',
'2': 'v>A',
'3': 'v>>A',
'4': 'A',
'5': '>A',
'6': '>>A',
'7': '^A',
'8': '^>A',
'9': '^>>A',
},
'5': {
'A': 'vv>A',
'0': 'vvA',
'1': 'v<A',
'2': 'vA',
'3': 'v>A',
'4': '<A',
'5': 'A',
'6': '>A',
'7': '<^A',
'8': '^A',
'9': '^>A',
},
'6': {
'A': 'vvA',
'0': 'vv<A',
'1': 'v<<A',
'2': 'v<A',
'3': 'vA',
'4': '<<A',
'5': '<A',
'6': 'A',
'7': '<<^A',
'8': '<^A',
'9': '^A',
},
'7': {
'A': '>>vvvA',
'0': '>vvvA',
'1': 'vvA',
'2': 'vv>A',
'3': 'vv>>A',
'4': 'vA',
'5': 'v>A',
'6': 'v>>A',
'7': 'A',
'8': '>A',
'9': '>>A',
},
'8': {
'A': '>vvvA',
'0': 'vvvA',
'1': 'vv<A',
'2': 'vvA',
'3': 'vv>A',
'4': 'v<A',
'5': 'vA',
'6': 'v>A',
'7': '<A',
'8': 'A',
'9': '>A',
},
'9': {
'A': 'vvvA',
'0': 'vvv<A',
'1': 'vv<<A',
'2': 'vv<A',
'3': 'vvA',
'4': 'v<<A',
'5': 'v<A',
'6': 'vA',
'7': '<<A',
'8': '<A',
'9': 'A',
},
}
dpad = {
'A': {
'A': 'A',
'^': '<A',
'<': 'v<<A',
'v': 'v<A',
'>': 'vA',
},
'^': {
'A': '>A',
'^': 'A',
'<': 'v<A',
'v': 'vA',
'>': 'v>A',
},
'<': {
'A': '>>^A',
'^': '>^A',
'<': 'A',
'v': '>A',
'>': '>>A',
},
'v': {
'A': '>^A',
'^': '^A',
'<': '<A',
'v': 'A',
'>': '>A',
},
'>': {
'A': '^A',
'^': '<^A',
'<': '<<A',
'v': '<A',
'>': 'A',
},
}
with open("inputfile", "r") as f:
sum = 0
for l in f.readlines():
l = l.strip()
n = int(l.strip('A'))
o = []
p1 = 'A'
p2 = 'A'
p3 = 'A'
#dbgout = []
for c1 in l:
o1 = npad[p1][c1]
p1 = c1
#d1 = (o1, [])
for c2 in o1:
o2 = dpad[p2][c2]
p2 = c2
#d2 = (o2, [])
for c3 in o2:
o3 = dpad[p3][c3]
p3 = c3
o.append(o3)
#d2[1].append(o3)
#d1[1].append(d2)
#dbgout.append(d1)
os = ''.join(o)
print(l, ':', os)
#print(dbgout)
print(n, '*', len(os), '=', n * len(os))
sum += n * len(os)
print('out:', sum)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment