解题思路
这道题本质上是一个带权无向图的多次最短路查询问题。
已知:
- 计算单元之间有些存在双向通道,所以图是无向图
- 每条通道有一个时延,路径总时延等于经过边权之和
- 需要查询 K 对点之间的最小时延
P4827.第2题-AI超节点内部计算单元通信最小时延
题目内容
AI超节点打破以GPU为中心的架构,所有计算单元通过总线或直接互连,是更高效、更灵活的全对等架构。
- 超节点内部的计算单元,彼此间存在互联通道或没有。
- 每一条互联通道因为距离、材质、老化等原因,其通信时延不同。
- 不同计算单元通信时,其通信时延为所经过的每段通道的时延累加。例如一条计算单元通信的路径需要经过3条通道,每条通道的附加时延分别为R1、R2、R3,则路径整体的时延 = R1 + R2 + R3。
当前有K对任意给定的源节点和目的计算单元,计算其通信最小时延。
输入描述
每个用例的第一行包含两个整数,分别表示计算单元数量N(1≤N≤100)和互联通道数量M(1≤M<=N∗N),两者之间用空格隔开。
接下来M行,每行包含三个整数a b c,表示计算单元a和计算单元b之间有一条通信时延为c(1≤c≤100)的互联通道。
整数K,表示需要计算的K对单元之间的最小通信时延。
K行,每行两个整数i,j,表示需要计算的单元i和单元j的最小通信时延(0<=i,j<=N)。
输出描述
如果不存在可选通信路径,输出0。
如果存在,则输出目标计算单元之间的最小通信时延。
样例1
输入
5 3
0 1 10
1 2 20
3 4 40
3
0 2
0 3
3 4
输出
30
0
40
说明
输入:
5 3//5个计算单元,3条互联通道
0 1 10//计算单元0和计算单元1之间,存在一条时延为10互联通道
1 2 20
3 4 40
3//下面有3对计算单元需要计算最小通信时延
0 2
0 3
3 4
输出:
30//计算单元0和计算单元2之间最小通信时延30
0//计算单元0和计算单元3之间没有通信路径
40//计算单元3和计算单元4之间最小通信时延40