Pagini recente » Cod sursa (job #82143) | Cod sursa (job #2587622) | Cod sursa (job #2395605) | Cod sursa (job #2344509) | Cod sursa (job #2695548)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("pscnv.in");
ofstream g("pscnv.out");
int n, m, x, y, v[250005];
struct edge
{
int src, des, cost;
}edges[500005];
bool cmp(edge x, edge y)
{
return x.cost < y.cost;
}
int father(int node)
{
while(v[node] != node)
node = v[node];
return node;
}
int main()
{
f >> n >> m >> x >> y;
for(int i = 0; i < m; i++)
{
f >> edges[i].src >> edges[i].des >> edges[i].cost;
}
for(int i = 1; i <= n; i++)
{
v[i] = i;
}
sort(edges, edges + m, cmp);
for(int i = 0; i < m; i++)
{
if(father(edges[i].src) != father(edges[i].des))
v[edges[i].des] = edges[i].src;
if(father(x) == father(y))
{
g << edges[i].cost;
break;
}
}
f.close();
g.close();
return 0;
}