如果你在 #7 错了,请考虑如下数据:
in: 2 2 1000 1 100 out: 1000
如果您的代码用的是邻接表并通过存两遍边模拟双向边,并且输出 100,那么可能是在访问完 1→21\to21→2 的边后没有访问 2→12\to12→1 的边而是建立的反边,于是寄了。
100
解决方法可以把所有边排个序。用 map 或者其他东西去重可能 MLE。
map
不过应该也只有我通过连续搜两遍找链吧(悲