一个局域网内有很多台电脑,分别标注为 1 ~ N 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示. 其中网络内一台电胶被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回 −1. 给定一个数组 times 表示一台电脑把相邻电脑感染所用的时间。
本题是一道单源最短路的模板题,不太熟悉图论中如何建图的朋友可以参考这篇文章:笔试ACM模式图论建图模版 - 知乎 (zhihu.com)
最终判断是否能从起点出发到达所有的其他点,如果可以,则输出最远距离,如果不可以,则输出-1。
const readline = require('readline');