Cod sursa(job #3362137)

Utilizator florinul1Iuhas Florin florinul1 Data 3 august 2026 12:10:15
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

const int N=1e5+5;
int dsu[N],n,q;

int t(int nod){
if(!dsu[nod]||dsu[nod]==nod)return nod;
return dsu[nod]=t(dsu[nod]);
}

int main()
{
    ifstream fin("disjoint.in");
    ofstream fout("disjoint.out");
    fin>>n>>q;
    int x,c,y;
    while(q--){
        fin>>c>>x>>y;
           x=t(x);
           y=t(y);
        if(c==1){
           dsu[y]=x;
        }
        else{
            if(x==y)fout<<"DA\n";
            else fout<<"NU\n";

        }
    }
    fin.close();
    fout.close();
    return 0;
}