题目:
样例图片:
思路 :
题意是路可以重复走,使得到达n点的时间恰好是p
根据这个性质,我们要想办法凑出这个时间P来。根据路可以重复走的性质,
我们可以找一个环来卡时间,什么样的环最佳呢?
我们先给出答案,以1的最短出边 * 2 构成一个环 在本样例中即为 1 <——> 2 <——> 1
对应代码:
int u,v,w,i;
re(n); re(m);
for(i=1;i<=m;i++)
{
re(u); re(v); re(w);
add(u,v,w);
add(v,u,w);//无向边建双向
}
d=inf;
for(i=Head[1];i;i=Next[i]) d=min(d,cost[i]);//找到起点1的出边中最短的
re(Q);
if(d==inf)//如果起点1压根就没有出边,那肯定都不