題目提供者該使用者不存在
標籤並查集
難度普及/提高-
提交該題 討論
題解記錄
a地區在**過後,連線所有村莊的公路都造成了損壞而無法通車。**派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路(可以由多條公路連成一條道路)
輸入格式:
第1行兩個正整數n,m
下面m行,每行3個正整數x, y, t,告訴你這條公路連著x,y兩個村莊,在時間t時能修復完成這條公路。
輸出格式:
如果全部公路修復完畢仍然存在兩個村莊無法通車,則輸出-1,否則輸出最早什麼時候任意兩個村莊能夠通車。
輸入樣例#1:
4 41 2 6
1 3 4
1 4 5
4 2 3
輸出樣例#1:
5
n<=1000,m<=100000
x<=n,y<=n,t<=100000
裸的最小生成樹,沒什麼好講的。
ac**:
#include#includeusing
namespace
std;
#define n 200100
struct
nodee[n];
intn,m,k,ans,fa[n];
inline
intread()
while(ch>='
0'&&ch<='9')
return x*f;
}inline
bool cmp(const node &a,const node &b)
int find(int
x)int
main()
}printf(
"%d\n
",k==n-1?ans:-1
);
return0;
}
P1111 修復公路
a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成...
P1111 修復公路
a 地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數 n 和公路數 m 公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公...
P1111 修復公路
aa地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數nn,和公路數mm,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公...