求起点到终点的最短路(有向图),每条边会循环着开一段时间,关一段时间.注意:能走一条边的条件时,你能进去,还能在关上以前出来.
SPFA,对边操作,建边时直接忽略到cost>a的
假设x到y之间有一条边r[i]{x,y,a,b,cost};
那么:
int res=dis[x]%(r[i].a+r[i].b);
if(res+r[i].cost<=r[i].a) //这样才能选择这条边
.....
.....
....
else //等r[i].a+r[i].b-res后,再用r[i].cost通过
....
....
.....