题目大意
求最短路和比最短路长一个单位的次短路的个数。
分析
求最短路和次短路。可以Dijkstra算法。采用邻接表建图(因为有重边)。
松弛是要改成:
1.if(x<最小)更新最小,次小;
2.else if(x==最小)更新方法数;
3.else if(x<次小)更新次小;
4.else if(x==次小)更新方法数;
在dijkstra的循环部分,我们要循环2*n次。因为题中我们要求最短路和次短路,最短路要n次遍历,而次短路也要n次遍历,这样两者加起来就为2*n次。