链接: https://pan.baidu.com/s/1Ws2bzV0x_NoXbEB4ImeTMQ 密码: g6ny
r1 = "aa bb cc uu dd yy gg"
r2 = "tt yy ww mm p1 ee hh"
r3 = "pp ss cc mm nn ee"
bn = "bb"
en = "ee"
rd1 = r1.split()
rd2 = r2.split()
rd3 = r3.split()
d = []
d.append(rd1)
d.append(rd2)
d.append(rd3)
print("road 0", rd1)
print("road 1", rd2)
print("road 2", rd3)
def findExchange(r1, r2):
li = []
for x in r1:
if x in r2:
ex1 = r1.index(x)
ex2 = r2.index(x)
temp = x, ex1, ex2
li.append(temp)
return li
'''
print("++rd1+rd2++rd3+++++")
print(findExchange(rd1, rd2))
print(findExchange(rd2, rd3))
print("----rd1-be-----")
print(findExchange(rd1, [bn, en]))
print("----rd2-be-----")
print(findExchange(rd2, [bn, en]))
print("----rd3-be-----")
print(findExchange(rd3, [bn, en]))
print("///")
'''
i = 0
b = [] # 記錄那條線路有起點
e = [] # 記錄那條線路有終點
for dr in d:
px = findExchange(dr, [bn, en])
#print("px ->", px, px[0], px[0][0])
for p in px:
if p[0] == "bb":
b.append(i)
if p[0] == "ee":
e.append(i)
i += 1
print("begin in rd", b, ", end in rd", e)
print("--------how many exchange?---------")
for begin in b:
for end in e:
#print(begin, end, end=' ')
ret = findExchange(d[begin], d[end])
#print(ret)
if len(ret) >= 1: # 大於1代表兩條線路有多個公共站
print("need exchange once,", "exchange at", ret)
if len(ret) == 0:
print("need exchange twice", "exchange at")
ret1 = findExchange(d[begin], d[3 - begin - end])
ret2 = findExchange(d[end], d[3 - begin - end])
print(ret1, ret2)