Cod sursa(job #2564751)

Utilizator danbesuDan Besu danbesu Data 2 martie 2020 10:01:42
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;

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

int n, m, t[100001];
int rad(int a){
    if(t[a] == 0) return a;
    return t[a] = rad(t[a]);
}
int main(){

    in>>n>>m;
    while(m--){
        int T; in>>T;
        int a,  b; in >> a >> b;

        if(T == 1){
            t[rad(b)] = rad(a);
        }
        if(T == 2){
            if(rad(a) == rad(b))
                out<<"DA"<<'\n';
            else out<<"NU"<<'\n';
        }
    }
    return 0;
}