回 帖 发 新 帖 刷新版面

主题:旅行计划

1.    旅行计划(plan)
已知所有的火车站,连接火车站的铁路和它们的长度(也就是火车开完这条铁路要多少时间)。铁路是双向的,而且无论沿着哪个方向开,所需时间都是相同的。他还知道所有火车的出发时间和它们经过的车站,火车每到达一个车站都会停一停(停顿时间不计)。
开始时(时刻1)小雪在车站1,他必须在时刻T1到T2这个区间内回到车站1。如果在同一时刻同一车站有两辆火车,他不需花任何时间就可以从一辆车跳到另一辆上。请你写一个程序,选择一条旅行路径使得小雪在车站等车的时间最少。

输入:第一行有5个整数N,P,V,T1,T2,2<=N<=1000,2<=P<=100000,1<=V<=1000,1<=T1<=T2<=50,000。N表示车站的数目,P是铁路的数目,V是火车的数目,T1和T2的意思在前面已经说过了。
接下来的P行,每行表示一条铁路。每行有三个整数S1,S2和T。表示火车从S1开到S2需要T秒(反之亦然),1<=T<=600。
接下来的V行,每行包含一辆火车的信息。第一个整数T0表示火车的出发时间,第二个数NS表示该火车的路径上有多少车站(包括起始站和终点站),1<=NS<=1000。后面的NS个数按照顺序列出了火车将要经过的车站。火车到达终点站就停在那里不动了,所有的乘客必须离开火车。
同一行的所有数据都用空格隔开。
输出:包含一个整数,为最少的等车时间
样例:
输入(plan.in):
          4 4 3 30 35
1 2 5
2 3 2
2 4 7
3 4 3
2 4 1 2 4 3
14 4 3 4 2 3
28 3 3 2 1
输出(plan.out):
      6



急求解法,加30分.

回复列表 (共1个回复)

沙发

应该是搜索

我来回复

您尚未登录,请登录后再回复。点此登录或注册