Cod sursa(job #1952772)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 4 aprilie 2017 13:01:10
Problema PScNv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>
using namespace std;
struct vec
{
    int x,y,c;
}v[1<<19];
int i,n,m,x,y,w[1<<18];
bool cmp(vec a,vec b)
{
    return a.c<b.c;
}
int rec(int i)
{
    if(i!=w[i]) w[i]=rec(w[i]);
    return w[i];
}
int main()
{
    ifstream f("pscnv.in");
    ofstream g("pscnv.out");
    f>>n>>m>>x>>y;
    for(i=1; i<=m; i++)
        f>>v[i].x>>v[i].y>>v[i].c;
    sort(v+1,v+m+1,cmp);
    for(i=1; i<=n; i++) w[i]=i;
    for(i=1; i<=m; i++)
    {
        if(rec(v[i].x)!=rec(v[i].y))
            w[v[i].x]=v[i].y;
        if(rec(x)==rec(y))
        {
            g<<v[i].c;
            return 0;
        }
    }
    f.close(); g.close();
    return 0;
}