Skip to content
Snippets Groups Projects
Commit 1598cdc8 authored by Taddeus Kroes's avatar Taddeus Kroes
Browse files

Worked on 79

parent 30ad39bf
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ codes = [319, 680, 180, 690, 129, 620, 762, 689, 762, 318, 368, 710, 720, 710,
629, 168, 160, 689, 716, 731, 736, 729, 316, 729, 729, 710, 769, 290,
719, 680, 318, 389, 162, 289, 162, 718, 729, 319, 790, 680, 890, 362,
319, 760, 316, 729, 380, 319, 728, 716]
codes = map(str, codes)
def indices(partial):
ind = []
......@@ -19,53 +20,14 @@ def indices(partial):
return ind
def match(code):
partials = (code, code[1:], code[:2], code[::2], code[0], code[1], code[2])
passcode = []
for i, partial in enumerate(partials):
ind = indices(partial)
def genpass():
return ''.join(c for i, c in passcode)
if ind:
return partial, i, ind
return None, None, None
#codes.sort()
codes = map(str, set(codes))
passcode = codes.pop(0)
print passcode
while len(codes):
possibilities = [(0, -1, [])]
for index, code in enumerate(codes):
partial, i, ind = match(code)
if ind:
#print code, partial, ind
possibilities.append((index, i, ind, partial))
possibilities.sort(lambda a, b: cmp(len(a[2]), len(b[2])))
#print possibilities
index, i, ind, partial = possibilities[-1]
code = codes.pop(index)
if i == 1:
passcode = code[0] + passcode
elif i == 2:
passcode += code[2]
elif i == 3:
passcode = passcode[:ind[0]] + code[1] + passcode[ind[0]:]
elif i == 4:
passcode += code[1:]
elif i == 5:
passcode = code[0] + passcode + code[2]
elif i == 6:
passcode = code[:2] + passcode
elif i == -1:
passcode += code
print code, partial, passcode
#print len(passcode), len(codes) * 3, passcode
#print passcode
for c, code in enumerate(codes):
for d in code:
if d in :
pass
else:
a
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