题目会给出两个地点发车时刻和发车车数
设在A、B之间往返;车辆往返时间固定为1h;理想状态运行;发车车数为正、到车车数为负
【1】可以得到A->B车辆到达时刻和到达车数,同理B->A也是
【2】因为有到达车辆所以对A、B各自发车时刻车辆会产生影响:假如8:00发车,但7:59到了几辆车,8:00中净发车数量会减少。
【3】根据到车的时刻和车数,找到对应影响的发车时刻,修改实际的发车车辆数
【4】把修改后的A、B实际发车数的所有发车时刻,进行车辆数的累加。
为什么发车时刻的发车数会有正负呢?跟装东西的货架类似,相当于是净增加或是净减少
【5】再次用货架比喻,累加之后,会出现各个时刻,货架被需要的值。
接下来:该考虑有没有空返的了
【1】如果A、B最大被需要的值小于或等于总的车辆数,则判定为没有空返、还可能有多种解
【2】如果A、B最大被需要的值大于总的车辆数,则肯定需要空返,但是空返的条件判断比较苛刻,什么时刻可以空返?空返之后不能影响本校区正常的车辆运行。空返要受最大车辆数的限制等等
最后:如何判断有一个合适的解呢?
【1】如果没有空返,在某一时刻货架被拿完了,但是客人都拿到自己想要的了,每个时刻的最大需要值都不得超过,货架初始的货量时,该解视为有效
【2】如果有空返,空返后出现了,类似上述情况,视为不再空返。需要注意:空返后,每个时刻的车辆数都会发生相应的变化,A、B的变化量是相同的,才能保证,车辆数对的上
需编写程序时:注意程序的通用性,因为可能有很多解,且不止一天运行