Cod sursa(job #3300339)

Utilizator Tudor_CCTudor Cocu Tudor_CC Data 14 iunie 2025 20:31:52
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

int p[100005];

int pr(int k)
{
    if(p[k]!=k)
    {
        p[k]=pr(p[k]);
    }
    return p[k];
}

int main()
{
    ifstream cin("disjoint.in");
    ofstream cout("disjoint.out");
    int n,m,c,x,y;
    cin>>n>>m;
    for(int i=1;i<=n;++i)
    {
        p[i]=i;
    }
    for(int i=1;i<=m;++i)
    {
        cin>>c>>x>>y;
        if(c==1)
        {
            p[pr(y)]=pr(x);
        }
        else
        {
            if(pr(x)!=pr(y))
            {
                cout<<"NU";
            }
            else
            {
                cout<<"DA";
            }
            cout<<"\n";
        }
    }
    return 0;
}