Cod sursa(job #3312916)

Utilizator georeg3sigmer georeg3 Data 30 septembrie 2025 19:29:09
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int v[100001];
int Find(int k)
{
    if(v[k]==0)
        return k;
    else
    {
        int x=Find(v[k]);
        v[k]=x;
        return x;
    }
}
void unire(int x, int y)
{
    v[y]=x;
}
int main()
{
    int n, m, t, x, y;
    cin >> n >> m;
    while(m--)
    {
        cin >> t >> x >> y;
        if(t==1)
        {
            unire(Find(x), Find(y));
        }
        else
        {
            if(Find(x)==Find(y))
                cout << "DA\n";
            else
                cout << "NU\n";
        }
    }
    return 0;
}