相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示。 其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1。 给定一个数组 times 表示一台电脑把相邻电脑感染所用的时间。 如图:path[i] = {i, j, t} 表示:电脑 i->j,电脑 i 上的...
1、图的构建:使用 g 表示图,其中键为电脑编号,值为与该电脑相邻的电脑以及感染所需的时间。 2、优先队列:使用 heap 作为优先队列,队列中存储的是数组{时间, 电脑编号}。 3、Dijkstra 算法:开始时,将病毒所在电脑加入队列,并设置时间为0。然后,不断从队列中取出时间最小的电脑,将其相邻的未感染电脑加入队列,...
OD统一考试(C卷) 分值: 100分 题解: Java 题目描述: 一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。如果最后有电脑不会感染,则返回-1给定一个数组times表示...
相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示。 其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1。 给定一个数组 times 表示一台电脑把相邻电脑感染所用的时间。 如图:path[i] = {i, j, t} 表示:电脑 i->j,电脑 i 上的...