Ver código fonte

Worked on 79

Taddeus Kroes 13 anos atrás
pai
commit
1598cdc859
1 arquivos alterados com 10 adições e 48 exclusões
  1. 10 48
      problem79.py

+ 10 - 48
problem79.py

@@ -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