Cod sursa(job #3039255)

Utilizator matei0000Neacsu Matei matei0000 Data 28 martie 2023 12:41:44
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

ifstream cin("disjoint.in");
ofstream cout("disjoint.out");


int tata[100005];

int repr(int x)
{
    while(x!=tata[x])
        x=tata[x];
    return x;
}

void update(int a, int b)
{
    tata[repr(a)]=repr(b);
}

string query(int a, int b)
{
    if(repr(a)==repr(b))
        return "DA";
    return "NU";
}




int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        tata[i]=i;
    for(int i=0;i<m;i++)
    {
        int a,b,c;
        cin>>a>>b>>c;
        if(a==1)
            update(b,c);
        else
            cout<<query(b,c)<<'\n';
    }
}