codevs 1001 舒適的路線

2021-07-23 15:16:37 字數 1539 閱讀 2089

codevs 1001 舒適的路線

題目描述 description

z小鎮是乙個景色宜人的地方,吸引來自各地的觀光客來此旅遊觀光。

z小鎮附近共有

n(1 < n≤500)個景點(編號為1,2,3,…,n),這些景點被m(0< m≤5000)條道路連線著,所有道路都是雙向的,兩個景點之間可能有多條道路。也許是為了保護該地的旅遊資源,z小鎮有個奇怪的規定,就是對於一條給定的公路ri,任何在該公路上行駛的車輛速度必須為vi。頻繁的改變速度使得遊客們很不舒服,因此大家從乙個景點前往另乙個景點的時候,都希望選擇行使過程中最大速度和最小速度的比盡可能小的路線,也就是所謂最舒適的路線。

輸入描述 input description

第一行包含兩個正整數,n和m。

接下來的m行每行包含三個正整數:x,y和v(1≤x,y≤n,0 最後一行包含兩個正整數s,t,表示想知道從景點s到景點t最大最小速度比最小的路徑。s和t不可能相同。

輸出描述 output description

如果景點s到景點t沒有路徑,輸出「impossible」。否則輸出乙個數,表示最小的速度比。如果需要,輸出乙個既約分數。

樣例輸入 sample input

樣例1

4 2

1 2 1

3 4 2

1 4樣例2

3 3

1 2 10

1 2 5

2 3 8

1 3樣例3

3 2

1 2 2

2 3 4

1 3樣例輸出 sample output

樣例1

impossible

樣例2

5/4樣例3

2資料範圍及提示 data size & hint

n(1< n≤500)

m(0< m≤5000)

vi在int範圍內

思路:暴力列舉記錄最大值和最小值,用並查集維護圖的聯通,更新答案使比值盡量小。

題解:

#include

#include

#include

using namespace std;

const int maxn=10000+100;

int n,m;

ints,t;

int f[maxn];

struct cca[maxn];

int cmp(cc aa,cc bb)

return f[w];

}int ans1=0,ans2=0;

void kru()

maxn=0,minn=10000000;

for(int j=i;j<=m;j++)

if(find(s)==find(t))}}

}} int main()

scanf("%d

%d",&s,&t);

kru();

if(!ans1&&!ans2)

else

else

}return

0;}

CODEVS 1001 舒適的路線

z小鎮是乙個景色宜人的地方,吸引來自各地的觀光客來此旅遊觀光。z小鎮附近共有 n 1第一行包含兩個正整數,n和m。接下來的m行每行包含三個正整數 x,y和v 1 x,y n,0 最後一行包含兩個正整數s,t,表示想知道從景點s到景點t最大最小速度比最小的路徑。s和t不可能相同。如果景點s到景點t沒有...

1001 舒適的路線

2006年 時間限制 2 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解檢視執行結果 z小鎮是乙個景色宜人的地方,吸引來自各地的觀光客來此旅遊觀光。z小鎮附近共有 n 1輸入描述 input description 第一行包含兩個正整數,n和m。接下來的m行每行包含三個正整數...

CODEVS 1041Car的旅行路線

我在此 的基礎上做進一步的說明解釋。include include include include include using namespace std const double oo 10000000 城市的飛機場 x 1 4 1代表第x個城市開始的飛機場下標 define ctoa x x 1...