aa地區在**過後,連線所有村莊的公路都造成了損壞而無法通車。**派人修復這些公路。
給出a地區的村莊數nn,和公路數mm,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路(可以由多條公路連成一條道路)
第11行兩個正整數n,mn,m
下面mm行,每行33個正整數x, y, tx,y,t,告訴你這條公路連著x,yx,y兩個村莊,在時間t時能修復完成這條公路。
如果全部公路修復完畢仍然存在兩個村莊無法通車,則輸出-1−1,否則輸出最早什麼時候任意兩個村莊能夠通車。
輸入 #1複製
4 4輸出 #1複製1 2 6
1 3 4
1 4 5
4 2 3
5code
1 #include 2view code#define dbg(x) cout << #x << "=" << x << endl
3#define eps 1e-8
4#define pi acos(-1.0)56
using
namespace
std;
7 typedef long
long
ll;8
9 templateinline void read(t &res)
1015
16namespace
_buff
24return ib == ie ? -1 : *ib++;25}
26}2728
intqread()
36if (c == '-'
) 40
for (; c >= '
0' && c <= '
9'; c =getc())
43return pos ? ret : -ret;44}
4546
const
int maxn = 1e3 + 7;47
48int
fa[maxn];
49int
n,m;
5051
struct
node a[100007
];54
55bool
cmp(node a, node b)
5859
int fid(int
x) 62
63void join(int x, int
y) 69}70
71int
main()
7279 sort(a + 1, a + m + 1
, cmp);
80for ( int i = 1; i <= n; ++i )
83int id = 1;84
for ( int i = 0; i <= maxx; ++i )
91else
92break;93
}94int cnt = 0;95
for ( int j = 1; j <= n; ++j )
101if(cnt == 1
) 105
}106 cout << -1
<
107return0;
108 }
P1111 修復公路
a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成...
P1111 修復公路
a 地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數 n 和公路數 m 公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公...
P1111 修復公路
題目提供者該使用者不存在 標籤並查集 難度普及 提高 提交該題 討論 題解記錄 a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠...