1987 Problem D 最短路徑

2021-08-24 20:56:33 字數 785 閱讀 8803

時間限制: 1 sec  記憶體限制: 32 mb

提交: 187  解決: 34

有n個城市m條道路(n<1000, m<10000),每條道路有個長度,請找到從起點s到終點t的最短距離和經過的城市名。

輸入包含多組測試資料。

每組第一行輸入四個數,分別為n,m,s,t。

接下來m行,每行三個數,分別為兩個城市名和距離。

每組輸出佔兩行。

第一行輸出起點到終點的最短距離。

第二行輸出最短路徑上經過的城市名,如果有多條最短路徑,輸出字典序最小的那條。若不存在從起點到終點的路徑,則輸出「can't arrive」。

3 3 1 3

1 3 3

1 2 1

2 3 1

2

1 2 3

#include #include #include #include #include using namespace std;

const int maxn=1010;

const int inf=0x3fffffff;

bool vis[maxn];

int n,d[maxn],g[maxn][maxn];

vectorpre[maxn],temppath,path;

struct node;};

vectoradj[maxn];

void dijkstra(int s)

}return 0;

}

最短路 最短路徑問題

題目描述 平面上有n個點 n 100 每個點的座標均在 10000 10000之間。其中的一些點之間有連線。若有連線,則表示可從乙個點到達另乙個點,即兩點間有通路,通路的距離為兩點直線的距離。現在的任務是找出從一點到另一點之間的最短路徑。input 共有n m 3行,其中 第一行為乙個整數n。第2行...

最短路徑演算法 最短路

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...

最短路(最短路之積)

首先考慮暴力維護,顯然極端資料就會炸裂,那麼用什麼來維護呢?考慮乙個很 nb的公式log n m log n log m ok,這道題到此結束 我們只要把乘積轉化為對數,最後再還原就可以了,也不用考慮精度問題,本蒟蒻試著用pow,然後它死了。includeusing namespace std co...