给你出道题 红绿灯问题

城市是由一个又一个的十字路口组成的,每条道路都是双行道,每个路口都向外伸出8条道,每辆车速度都相同,为v。路口相当于结点,路相当于边,构成一个大图。每辆车都有一个出发点和目的地。图中边具有路程属性,结点有interval属性,全部结点的interval都是相同的,假设没有黄灯,红绿灯立马各自经历interval之后变换。
求:interval是几的时候,才能让城市中的全部车辆最快到达目的地。

变化:

  • 红绿灯各自interval不同
  • 各辆车车速不同

这个问题描述太复杂,下面简化之。
城市有以下对象:

  • 路:路有长度属性
  • 十字路口:十字路口有红绿灯
  • 汽车:汽车有出发点和目的点,出发点和目的点都是十字路口
    城市是一个正方形,由很多个小格子组成。只有十字路口有红绿灯,丁字路口和拐角没有红绿灯。
    全城市红绿灯交替间隔相同,没有黄灯。
    目前有n辆汽车,各辆汽车的出发点(fxi,fyi),目的点(txi,tyi)

输入如下:

城市长度n(十字路口有n×n,拐角有4个,丁字路口有4n个)
车辆数m
(n+1)×(n+1)条路的汽车用时,(n+1)×(n+1)个int

m辆车的出发地和目的地
(fx1,fy1,tx1,ty1)
(fx2,fy2,tx2,ty2)
.....

目标有多种:

  • 目标一:全部汽车用时之和最少
  • 目标二:整个任务用时最短
原文地址:https://www.cnblogs.com/weiyinfu/p/9049780.html