「傳說有個魔仙堡,有個女王不得了」,但是再不得了的女王也有為難的時候。在某年某月某日某魔仙堡發生了**???是的沒錯,是**。**的到來是女王sama忽然生起來了體驗普通人類生活的心思(????),又是她決定以身作則,帶領魔仙堡的人民搬水泥(劃重點!!!),我們身嬌體柔的女王sama於是就操作了起來,但是由於政務繁忙,她時間又不是很多,於是懶惰的她想知道最快什麼時候可以跑路。
給出一共有的蘑菇屋(???)站點n,和石子路m,路是雙向的。接下來m行每行三個數,告訴哪兩個蘑菇屋之間的路在什麼時間修好,問最早什麼時候任意兩個站點之間可以通車,即最早什麼時候任意兩個站點都存在至少一條修復完成的道路。
第一行n,k 下面k行,數字分別是兩個蘑菇屋和修復時間,前兩個數是蘑菇屋的標號,可以在時間time時穿梭於這兩個蘑菇屋。
到了最後還沒有辦法在任意兩個蘑菇屋中穿梭的話,那就輸出-1,可以的話輸出最早什麼時候任意兩個蘑菇屋能夠穿梭。
4 41 2 6
1 3 4
1 4 5
4 2 3
n <= 1000, k <= 100000 a <=n , b <= n , time <=100000
一道最短生成樹,把求路徑和改為求每次最大的時間即可。
#include
#include
#include
#include
#include
using namespace std;
const
int n =
2e5;
typedef pair<
int,
int> p;
int bcj[
5005];
int n, m, cnt, ans;
struct node
} edge[
200005];
intfind
(int x)
void
kruskal()
}int
main()
kruskal()
;if(cnt==n-1)
printf
("%d\n"
, ans)
;else
printf
("-1\n");
return0;
}