1. 题目

传送门= ̄ω ̄=

2. 题解

http://k-xzy.cf/?p=1227
跑一遍spfa再跑记忆化搜索。
至于什么情况下存在无限条最短路。。。
其实就是最短路径上存在一条边的花费为0,那就可以来回走。。。就有无线条了。。。

所以直接在记忆话搜索的时候判断路径花费是否为0就行了。
如果为0,输出-1然后exit(0)。
exit函数可以直接退出程序,在cstdlib库里。

代码: