链路冗余(redu)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
链路冗余(redu)
题目描述
Y 同学正在设计一套高可靠性的分布式网络传输系统。在该系统中,数据包需要从起点节点经过一系列预设的传输链路,最终送达目标节点。
系统中共有 条可选的单向传输链路。每条链路 都有确定的起点节点 、数据发出的时刻、终点节点 以及数据到达的时刻。网络环境允许瞬时中转,即数据包到达某个节点后,可以立即通过在该时刻(或之后)发出的其他链路继续传输。
Y 同学已经为某个特定的数据包规划了一条包含 条链路的原始路径。然而,网络链路存在突发故障的风险。假设在原始路径的某条链路即将开始传输数据时,该链路突然因故障而不可用,而系统中其余的 条链路(包含原始路径中尚未执行的后续链路)均保持正常。在这种情况下,系统会自动触发冗余保护机制,从当前节点重新规划一条到达目标节点时间最早的路径。
现在,Y 同学需要评估该系统的最坏延迟情况。请计算:若原始路径中任意一条链路在传输前发生故障,重新规划后的最早到达时刻与原计划到达时刻之差的最大值。
输入格式
第一行包含一个整数 ,表示系统中可选的传输链路总数。
接下来的 行,每行包含四个由空格隔开的字段,描述一条链路的信息:
- 起点节点名称 。
- 发出时刻,格式为
[d]d[hh]:[mm]。 - 终点节点名称 。
- 到达时刻,格式为
[d]d[hh]:[mm]。
其中 ,,。节点名称为长度在 到 之间的字符串。
第 行包含一个整数 ,表示原始路径中的链路数量。
第 行包含 个整数 ,依次为原始路径中各链路在输入数据中的编号(从 到 编号)。
输出格式
输出一个整数,表示在所有可能的单链路故障情况下,到达时间增加量的最大值(以分钟为单位)。
如果存在某种故障情况导致数据包无法送达目标节点,请输出 stranded。
如果所有故障情况下的最早到达时刻均不晚于原计划时刻,请输出 0。
样例
样例输入 #1
8
egnx 0d00:10 delft 0d01:00
delft 0d01:00 zad 0d09:00
zad 0d09:01 prg 0d15:30
prg 0d20:00 delft 1d02:15
prg 0d22:00 delft 1d04:15
zad 2d00:00 delft 3d00:00
egnx 2d00:00 delft 2d02:00
egnx 2d00:00 delft 2d02:00
4
1 2 3 4
样例输出 #1
2745
样例输入 #2
3
ork 101d00:00 noc 101d00:01
ork 100d23:59 noc 101d00:02
dub 100d00:00 ork 101d00:00
2
3 1
样例输出 #2
stranded
样例输入 #3
2
lax 0d00:30 hnl 0d06:20
lax 0d00:30 hnl 0d06:20
1
2
样例输出 #3
0
数据范围与约定
对于 的数据,保证 ,,。所有时刻满足到达时间严格晚于发出时间。原始路径满足前一条链路的到达时间 后一条链路的发出时间。
| 测试点编号 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 20 | 无 | |||
| 特殊性质 A | ||||
| 特殊性质 B | ||||
| 无 | ||||
- 特殊性质 A:保证所有链路的发出与到达时刻均在同一天内(即 相同)。
- 特殊性质 B:保证原始路径仅包含一条链路,即 。