Cod sursa(job #2816476)

Utilizator alexxxxxxhalex alx alexxxxxxh Data 11 decembrie 2021 14:01:55
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb

#include <bits/stdc++.h>

using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int parinte[100001];
int f(int x)
{
    while (x!=parinte[x])
    {
        x=parinte[x];
    }
    return x;
}
int main()
{
int  n,m;
fin >>n>>m;
for (int i=1;i<=n;i++) parinte[i]=i;
for (int i=1;i<=m;i++)
{
    int x,y;
    int intr;
    fin >>intr>>x>>y;
    if (intr==1) parinte[x]=y;
    else
    {
        int py=f(y);
        int px=f(x);
        if (px==py) cout << "DA\n";
        else cout << "NU\n";
    }
}
}