P1111 修復公路

2022-05-03 11:54:24 字數 1097 閱讀 1613

題目提供者該使用者不存在

標籤並查集

難度普及/提高-

提交該題 討論

題解記錄

a地區在**過後,連線所有村莊的公路都造成了損壞而無法通車。**派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路(可以由多條公路連成一條道路)

輸入格式:

第1行兩個正整數n,m

下面m行,每行3個正整數x, y, t,告訴你這條公路連著x,y兩個村莊,在時間t時能修復完成這條公路。

輸出格式:

如果全部公路修復完畢仍然存在兩個村莊無法通車,則輸出-1,否則輸出最早什麼時候任意兩個村莊能夠通車。

輸入樣例#1:

4 4

1 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#include

using

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,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公...