mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
This commit is contained in:
parent
90cfcbea8f
commit
cf3a909047
74
TYVJ/1403_chinaunix.cpp
Normal file
74
TYVJ/1403_chinaunix.cpp
Normal file
|
@ -0,0 +1,74 @@
|
|||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const int M = 100000;
|
||||
const int N = 20000;
|
||||
|
||||
struct EDGE {
|
||||
int a;
|
||||
int b;
|
||||
int v;
|
||||
} edge[M];
|
||||
|
||||
int f[N * 2];
|
||||
|
||||
bool Compare(const EDGE &a, const EDGE &b)
|
||||
{
|
||||
return a.v < b.v;
|
||||
}
|
||||
|
||||
int Find(int x)
|
||||
{
|
||||
if (f[x] == x) {
|
||||
return f[x];
|
||||
} else {
|
||||
return f[x] = Find(f[x]);
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int n, m;
|
||||
|
||||
ios::sync_with_stdio(false);
|
||||
|
||||
cin >> n;
|
||||
cin >> m;
|
||||
for (int i = 0; i < m; i++) {
|
||||
cin >> edge[i].a;
|
||||
cin >> edge[i].b;
|
||||
cin >> edge[i].v;
|
||||
}
|
||||
|
||||
for (int i = 0; i < n * 2; i++) {
|
||||
f[i] = i;
|
||||
}
|
||||
|
||||
sort(edge, edge + m, Compare);
|
||||
|
||||
for (int i = m - 1; i >= 0; i--) {
|
||||
int x = Find(edge[i].a);
|
||||
int y = Find(edge[i].b);
|
||||
|
||||
if (x == y) {
|
||||
cout << edge[i].v << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int xx = Find(edge[i].a + n);
|
||||
int yy = Find(edge[i].b + n);
|
||||
|
||||
f[x] = yy;
|
||||
f[y] = xx;
|
||||
}
|
||||
|
||||
cout << "0" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user