Cod sursa(job #3324560)

Utilizator TeodoRazvanStancu Teodor-Razvan TeodoRazvan Data 22 noiembrie 2025 15:24:22
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("disjoint.in");
ofstream fout("disjoint.out");

int t[100010];

int root(int x){
    if(x==t[x]) return x;
    return (t[x]=root(t[x]));
}

int main(){
    int n,m,o,a,b;
    fin>>n>>m;
    for(int i=1;i<=n;i++) t[i]=i;
    while(m--){
        fin>>o>>a>>b;
        int ra=root(a),rb=root(b);
        if(o==1) t[ra]=rb;
        else{
            if(ra==rb) fout<<"DA\n";
            else fout<<"NU\n";
        }
    }
    return 0;
}