算法流程:在最短路算法中另設(shè)置一個 d p dp dp數(shù)組用于計數(shù)最短路,并將源點的 d p [ S ] = 1 dp[S]=1 dp[S]=1。在松弛操作時:
if(dis[V]==dis[U]+W) dp[V]+=dp[U]; if(dis[V]>dis[U]+W){ dis[V]=dis[U]+W; dp[V]=dp[U]; }