Cod sursa(job #2723316)

Utilizator GabyD002Dobrita Gabriel GabyD002 Data 13 martie 2021 21:38:34
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("a.in");
ofstream g("a.out");

const int NM=1e5+5;

int t[NM];

int rad(int x)
{   int aux=x;
    while(aux!=t[aux])
        aux=t[aux];
    while(x!=t[x])
    {   x=t[x];
        t[x]=aux;
    }
    return x;
}

int main()
{   int n,m;
    f>>n>>m;
    for(int i=1; i<=n; i++)
        t[i]=i;
    for(int p,x,y; f>>p>>x>>y;)
    {   int rx=rad(x),ry=rad(y);
        if(p==1)
            t[rx]=ry;
        else
            g<<(rx==ry ? "DA\n" : "NU\n");
    }
    g.close();
    return 0;
}