题目内容:
flight = ["a,b", "c2,d", "b,em", "em,c2", "f,d", "fn,c2"]
给定上面列出的一张航班表, 输入出发的机场名称,请问按照航班表最多可以连续飞行几次?
航班表中 "a,b" 含义为可以从a机场飞到b机场。你可以认为此题中航班不存在循环,而且一个机场最多只能够飞其他一个机场(即不会同时存在 "a,b","a,c")。
注意:出发机场的名称可能不在航班表中,此时可以飞行次数为0。
你可能首先需要将flight处理成一个字典。
输入格式:
字符串
输出格式:
整数
输入样例1:
f
输出样例1:
1
(解释:从f出发,飞到d,d机场不能飞行到其他任何机场。因此只能飞行1次)
输入样例2:
b
输出样例2:
3
(解释:从b出发,飞到em,再从em出发飞到c2,再从c2出发飞到d,共飞行3次)
时间限制:500ms内存限制:32000kb
flight = ["a,b", "c2,d", "b,em", "em,c2", "f,d", "fn,c2"]
flight_dct=dict(map(lambda s:s.split(','),flight))
def maxFlights(start,n=0):
next=flight_dct.get(start,0)
if next:
n+=1
# print(next)
return maxFlights(next,n)
else:
return n
n=maxFlights('a')
n