题目大意:
这题和第一题的区别在于,小明事先得知路况(路口通过时间和交通灯数据),走之前预测估算走多少时间,不再是第一题那样走多少记多少。
思路:
由于没有亲自去走,所以需要模拟人去走,得到走的总时间,遇到路口就加时间,遇到交通灯的时候,通过总时间和交通灯在出发时的情况,推算出现在交通灯情况,用现在的交通灯情况就可以像第一题那样加时间。
细节:
1.推算时注意题目交通灯的标号(1-红,2-黄,3-绿),然后红绿灯运行顺序是((0)红–>(1)绿–>(2)黄),到时候进行推算的时候要进行下标与标号的转换,把123一一对应成012。下标往前推进的时候,通过模运算保证下标一直是0,1,2。
2.不要一个个灯去推(要不然就超时了,呜呜呜~~这次考试的时候就是这样,最后才70分),因为红绿灯是周期运行的,总时间可以减去前面的周期时间,剩下最后一个周期时间,再在这个周期时间内推算交通灯的情况
python代码:思路1
def comput(light, time, total, r, y, g):
# 红-->绿-->黄
lights = [r, g, y]
# 转换下标
# 123ryg-->012rgy
if light == 1: