題目背景
a地區在**過後,連線所有村莊的公路都造成了損壞而無法通車。**派人修復這些公路。
題目描述
給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路(可以由多條公路連成一條道路)
輸入輸出格式
輸入格式:
第1行兩個正整數n,m
下面m行,每行3個正整數x, y, t,告訴你這條公路連著x,y兩個村莊,在時間t時能修復完成這條公路。
輸出格式:
如果全部公路修復完畢仍然存在兩個村莊無法通車,則輸出-1,否則輸出最早什麼時候任意兩個村莊能夠通車。
輸入輸出樣例
輸入樣例#1: 複製44
1261
3414
5423
輸出樣例#1: 複製5說明
n<=1000,m<=100000
x<=n,y<=n,t<=100000
注意的幾個地方
無向圖兩倍陣列大小
要求的不是邊權之和,是最大的一條邊
//writer:ghostcai && his yellow duck
#include
#include
#define maxn 200005
using
namespace
std;
int m,n;
int ans,links;
int fa[maxn];
int fnd(int x)
void cat(int x,int y)
struct edgee[maxn];
int ecnt;
inline
void add(int x,int y,int w)
bool cmp(edge x,edge y)
int main()
sort(e+1,e+1+ecnt,cmp);
for(int i=1;i<=ecnt;i++)
}// cout<<-1
cout
0;}
luogu P1111 修復公路
a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成...
洛谷 1111 修復公路
題目描述 給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成一條道路 輸入輸出格式 輸入格式 第111行兩個正整數n,m 下面...
Luogu 1111 修復公路
a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成...