diff options
| -rw-r--r-- | gothpick.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gothpick.py b/gothpick.py index 764dbb9..8aa8e73 100644 --- a/gothpick.py +++ b/gothpick.py @@ -14,6 +14,7 @@ def lockpick(blocks, pinnumber, pinpos,connections): initialpins = [0]*blocks for p in pinpos: initialpins[p]=pinpos[p] + VisitedNodes=set() # queue items: # distance from solution # pinpositions @@ -24,6 +25,10 @@ def lockpick(blocks, pinnumber, pinpos,connections): # all are in the middle? if dist == 0: return path + + if path: + if (tuple(pins),path[-1]) in VisitedNodes: continue + VisitedNodes.add((tuple(pins),path[-1])) subqueue = [] #for each block for block in range(blocks): |
