#CSP202104E. 疫苗运输
疫苗运输
时间限制: 1.0 秒
空间限制: 512 MB
题目描述
X 市最近生产了一批疫苗,需要运往各地使用。疫苗的运输是一个困难的问题:既要实现尽快时间送达,又要保证全程冷链,否则疫苗会损坏。
X 市的物流系统并不发达,只有 个物流站点(以下简称“站点”)和 条物流线路(以下简称“线路”),且该物流系统具有以下几个特点:
- 每条线路都是环线。即,从某个站点出发,经过一系列不重复的站点,最终回到出发站点。
- 每条线路上有且仅有一辆运输车,以固定的时刻表(相邻站间的时间间隔)在环线上不断运行。在 时刻时,运输车在出发站点。
- 运输车上配备了容量足够大的制冷系统,疫苗可以在车上长时间存放。但是换乘(从一条线路切换到另一条线路)必须在同一个站点同一个时刻发生——因为各个站点没有独立的制冷系统,疫苗不能在站点内下车等待。
现在 X 市想要从 号站点开始,经过若干条线路的运输和换乘,将疫苗运输到各个其他站点。 与其他站点不同, 号站点配有冷库。也就是说,从 时刻开始,可以在 号站点等待某条线路运输车的到来,再开始疫苗运输。 问对于 号 号站点,分别最早可以在什么时刻将疫苗送到该站点。
注意:每个问题是独立的,即只需要求出 号站点到各个站点的最早送达时刻。
输入格式
从标准输入读入数据。
第一行两个整数 。
接下来 行,每行表示一条物流线路。 对于第 条线路,首先有一个整数 表示该线路经过的站点个数。 接下来 个整数,第 和第 个整数分别表示该线路的第 个站点的编号 ,以及该线路的第 个站点到下一个站点所需的时间 (对于第 个站点即为它到第 1 个站点的时间)。 其中,每条线路的第 个站点为其出发站点。输入中同一行相邻的整数,均用一个空格隔开。
输出格式
输出到标准输出。
输出 行,第 行表示将疫苗送达第 个站点的最早时间: 如果能在有限时间内送达,输出最早的送达时刻;否则输出 inf。
5 2
3 1 100 2 100 3 100
3 3 100 4 100 5 100
100
200
inf
inf
5 3
3 1 100 2 100 3 100
3 3 100 4 100 5 100
2 3 125 5 125
100
200
1600
625
样例 2 解释
在此样例中,有 5 个站点、3 条线路。第一条线路经过站点 1、2、3,第二条线路经过站点 3、4、5,第三条线路经过站点 3 和 5。
以下为从 1 号站点到各个其他站点的最早送达路线:
- 2 号站点:通过第一条线路运输,在 100 时刻到达 2 号站点
- 3 号站点:通过第一条线路运输,在 200 时刻到达 3 号站点
- 4 号站点:通过第一条线路运输,在 500 时刻到达 3 号站点,然后换乘第三条线路,在 1500 时刻再次到达 3 号站点,最后换乘第二条线路,在 1600 时刻到达 4 号站点
- 5 号站点:通过第一条线路运输,在 500 时刻到达 3 号站点,然后换乘第三条线路,在 625 时刻到达 5 号站点
10 5
6 8 18 1 8 3 52 4 3 7 18 2 47
6 8 96 2 45 10 44 6 95 4 97 3 96
4 10 63 8 97 7 75 1 12
7 3 7 5 75 1 19 2 37 4 25 10 43 9 32
2 6 35 5 74
99
26
78
245
7753
81
146
206
163
子任务
对于所有数据,保证 。
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
| 子任务编号 | 分值 | |||
|---|---|---|---|---|
| 1 | 10 | |||
| 2 | 20 | |||
| 3 | ||||
| 4 | ||||
| 5 | 10 | |||
| 6 | 15 | |||
| 7 | 5 | |||