【Noip模擬 20160929】花壇迷宮
阿新 • • 發佈:2019-03-26
一行 圖1 強連通分量 輸出數據 比較 環路 ack pre atom
題目描述
聖瑪格麗特學園的一角有一個巨大、如迷宮般的花壇。大約有一個人這麽高的大型花壇,做成迷宮的形狀,深受中世紀貴族的喜愛。維多利加的小屋就坐落在這迷宮花壇的深處。某一天早晨,久城同學要穿過這巨大的迷宮花壇,去探望感冒的維多利加。
整個迷宮可以用N個路口與M條連接兩個不同路口的無向通道來描述。路口被標號為1到N,每條通道有各自的長度。整個迷宮一定是連通的,迷宮中可能存在若幹個環路,但是,出於美觀考慮,每個路口最多只會屬於一個簡單環路。例如,圖1所示的迷宮是非常美觀的,但圖2則不符合我們的描述,因為3號路口同屬於兩個簡單環。
你需要回答多個這樣的詢問:假如久城處在路口x,維多利加的小屋處在路口y,久城最短需要走多少距離才能到達小屋?
輸入數據
第一行2個整數N,M,表示迷宮花壇的路口數和通道數;
接下來M行,每行3個整數x,y,z,描述一條連接路口x與路口y,長度為z的通道;
再接下來1行包含一個整數Q,表示詢問數量;
之後Q行,每行2個整數x,y,描述一個詢問。
輸出數據
對於每個詢問輸出一行一個整數,表示最短距離。
樣例輸入
4 4
1 2 1
2 3 2
1 3 2
3 4 1
2
2 4
1 3
樣例輸出
3
2
數據範圍
對於30%30%的數據,N≤100N≤100;
另有30%30%的數據,保證N=MN=M;
對於100%100%的數據,1≤N≤100000,0≤Q≤200000,1≤x,y≤N,1≤z≤1000 1≤N≤100000,0≤Q≤200000,1≤x,y≤N,1≤z≤1000。
由於傳題人比較懶,hack數據只需滿足是一個仙人掌
題目分析
這是一道神題啊,我看得一臉懵逼。首先我們發現這是一道圖論題(廢話),我們用SPFA還是DJ隨意。題目被簡化為:給出一個有向圖,這個圖的每個點最多屬於一個正環。我們需要求的是兩個點的圖上最短距離。環裏面不可能跑兩遍的,其實這是強連通分量。
【Noip模擬 20160929】花壇迷宮