設d1[x],d2[x]為城市x的到達時間,可進入時間
max(d1[x],d2[x])為真實的進入時間
d[x]記錄城市x被多少個城市保護
每次堆中取出一個真實進入時間最小的城市
更新它所通往的城市的d1,保護城市的d2
保護城市的d–1
若d=0,則可入堆
復雜度(n+m)log2n
黃學長寫的比較清楚了,似乎很多人都用了矩陣存圖的樣子
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include