oirodolfo
6/1/2017 - 2:34 AM

null created by anonymous - https://repl.it/I0lO/0

null created by anonymous - https://repl.it/I0lO/0

from collections import defaultdict

D=defaultdict(list)
def addedge(a,b):
    D[a].append(b)
    D[b].append(a)
    
    
addedge(1,2)
addedge(2,3)
addedge(3,4)
addedge(1,4)
addedge(5,6)
addedge(6,7)

V=D.keys()
#k=2

def F(X,Y):
    #if len(X)==k:
        #return
    if X:
        T = set(a 
        for x in X 
        for a in D[x] 
        if a not in Y 
        and a not in X)
    else:
        T = V
    Y1=set(Y)
    for v in T:
        X.add(v)
        print X
        F(X,Y1)
        X.remove(v)
        Y1.add(v)

print 'original method'
F(set(),set())