John's trip problem python

来源:互联网 发布:网页编程网 编辑:程序博客网 时间:2024/05/17 15:04
'''Created on 2013-1-29@author: Administrator'''def checkstreet(zhan, a):    for i in zhan:        if a==i:            return 0    return 1    def dsf(a, b, zhan, street, street2):    l = len(zhan)    l2 = len(street2)    if l==l2 and a==b:        print zhan        return 0    else:        for i in street:            if b==i[0]:                if checkstreet(zhan, i[2]):                    zhan.append(i[2])                    temp = i[1]                    dsf(a, temp, zhan, street, street2)                else:                    continue            if b==i[1]:                if checkstreet(zhan, i[2]):                    zhan.append(i[2])                    temp = i[0]                    dsf(a, temp, zhan, street, street2)                else:                    continue    if l==l2 and a!=b:        print 'Round trip does not exist.'        return 0    def Check(street, street2):    a = street[0][0]    b = street[0][1]     if a>b:        zhan = []        dsf(b, b, zhan, street, street2)    else:        zhan = []        dsf(a, a, zhan, street, street2)    a = raw_input()street = []street2 = []while a:    temp = a.split(' ')    if temp[0]=='0' and temp[1]=='0':        Check(street, street2)        street = []        street2 = []        a = raw_input()    else:        m = []        #a = raw_input()        temp = a.split()        tempa = int(temp[0])        tempb = int(temp[1])        tempc = int(temp[2])        m.append(tempa)        m.append(tempb)        m.append(tempc)        street.append(m)        street2.append(tempc)    a = raw_input()