Compare commits
No commits in common. "3fb61d335f59ef4c1158d688b9b14cc4e26613bf" and "ffe9616398da31a66d22344cf499d2f5e63007ad" have entirely different histories.
3fb61d335f
...
ffe9616398
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
input
|
input
|
||||||
test
|
test
|
||||||
p2.py
|
|
||||||
|
@ -1,113 +0,0 @@
|
|||||||
#!/bin/python3
|
|
||||||
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
from pprint import pprint
|
|
||||||
from collections import Counter
|
|
||||||
import numpy as np
|
|
||||||
|
|
||||||
input_f = sys.argv[1]
|
|
||||||
|
|
||||||
def pp(x):
|
|
||||||
for i in x:
|
|
||||||
for j in i:
|
|
||||||
print(j)
|
|
||||||
print()
|
|
||||||
|
|
||||||
d, *maps = open(input_f).read().split('\n')
|
|
||||||
|
|
||||||
|
|
||||||
s = []
|
|
||||||
l = []
|
|
||||||
r = []
|
|
||||||
|
|
||||||
maps = maps
|
|
||||||
|
|
||||||
nmaps = []
|
|
||||||
|
|
||||||
for i in maps:
|
|
||||||
if i == '':
|
|
||||||
continue
|
|
||||||
s = i[:3]
|
|
||||||
l = i[7:10]
|
|
||||||
r = i[12:15]
|
|
||||||
nmaps.append([s,l,r])
|
|
||||||
|
|
||||||
|
|
||||||
#pprint(d)
|
|
||||||
#pprint(maps)
|
|
||||||
#pprint(nmaps)
|
|
||||||
|
|
||||||
count = 0
|
|
||||||
way = 'AAA'
|
|
||||||
first = True
|
|
||||||
found = False
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
way = []
|
|
||||||
|
|
||||||
for i in nmaps:
|
|
||||||
if i[0].endswith('A'):
|
|
||||||
way.append(i[0])
|
|
||||||
|
|
||||||
print(way)
|
|
||||||
|
|
||||||
cycles = []
|
|
||||||
|
|
||||||
print(d)
|
|
||||||
|
|
||||||
for cur in way:
|
|
||||||
cycle = []
|
|
||||||
|
|
||||||
count = 0
|
|
||||||
cur_d = d
|
|
||||||
|
|
||||||
while True:
|
|
||||||
while count == 0 or not cur.endswith('Z'):
|
|
||||||
|
|
||||||
|
|
||||||
count += 1
|
|
||||||
|
|
||||||
index = [(i,table.index(cur)) for i, table in enumerate(nmaps) if cur in table]
|
|
||||||
|
|
||||||
for j in index:
|
|
||||||
if list(j)[1] == 0:
|
|
||||||
index = list(j)[0]
|
|
||||||
if cur_d[0] == 'R':
|
|
||||||
cur = nmaps[index][2]
|
|
||||||
if cur_d[0] == 'L':
|
|
||||||
cur = nmaps[index][1]
|
|
||||||
|
|
||||||
|
|
||||||
print(cur)
|
|
||||||
|
|
||||||
cur_d = cur_d[1:] + cur_d[0]
|
|
||||||
|
|
||||||
print(cur_d)
|
|
||||||
input()
|
|
||||||
|
|
||||||
cycle.append(count)
|
|
||||||
cycles.append(cycle)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print(cycles)
|
|
||||||
|
|
||||||
"""
|
|
||||||
while found == False:
|
|
||||||
i = d[count%len(d)]
|
|
||||||
c = way
|
|
||||||
index = [(i,table.index(c)) for i, table in enumerate(nmaps) if c in table]
|
|
||||||
for j in index:
|
|
||||||
if list(j)[1] == 0:
|
|
||||||
index = list(j)[0]
|
|
||||||
if i == 'R':
|
|
||||||
way = nmaps[index][2]
|
|
||||||
if i == 'L':
|
|
||||||
way = nmaps[index][1]
|
|
||||||
count += 1
|
|
||||||
if way == 'ZZZ':
|
|
||||||
found = True
|
|
||||||
continue
|
|
||||||
"""
|
|
||||||
print('Result: ' + str(count))
|
|
@ -1,10 +0,0 @@
|
|||||||
LR
|
|
||||||
|
|
||||||
11A = (11B, XXX)
|
|
||||||
11B = (XXX, 11Z)
|
|
||||||
11Z = (11B, XXX)
|
|
||||||
22A = (22B, XXX)
|
|
||||||
22B = (22C, 22C)
|
|
||||||
22C = (22Z, 22Z)
|
|
||||||
22Z = (22B, 22B)
|
|
||||||
XXX = (XXX, XXX)
|
|
Loading…
Reference in New Issue
Block a user