可以飞行的次数 python

题目内容:

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

 


版权声明:本文为xjjatdna原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。