Вот блин показл одному знакомому Питон, теперь достаёт, скажи говорит что здесь не правильно:
''' def read(): file=open("Matrix") matrix[x.split(' ') for x in File(file)] trans=lambda X:map(list,apply(map,[None]+X)) matr=trans(matrix) return matr '''
M=[[3,5],[1,4],[2,5],[1,2,3],[2,4]]
def all(ver=1,gam_cir=[]): a=filter(lambda x:x>0,M[ver]) for okr in a: gam_cir.append(M[ver][okr]) break if not a: for i in M[ver]: i=map(abs,i) all(gam_cir[len(gam_cir)-1:],gam_cir[:-1]) ver=M[ver][okr] M[ver][okr]=-M[ver][okr] if gam_cir[:1]==abs(okr) and len(gam_cir)==len(M)+1: spis.append(gam_cir) elif okr not in gam_cir: all(ver,gam_cir) else: for okr in M[ver]: okr=map(abs,okr) all(gam_cir[len(gam_cir)-1:],gam_cir[:-1]) return spis def main(): #M=read() spis=all() if spis: print "Poluchennye gamil`tonovy cikly:", spis else: print "Gamil`tonovy cikly ne polucheny"
main()