Cod sursa(job #2912403)

Utilizator CrullTCrull Thomas CrullT Data 8 iulie 2022 12:04:30
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

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

int v[100001];

bool check(int i, int j)
{
    int aux=j;
    while(v[aux]!=aux && v[aux]!=i)
        aux=v[aux];
    if(v[aux]==i)
        return 1;
    else
        return 0;
}

int main()
{
    int n,m,o,i,j;
    in>>n>>m;
    for(i=1;i<=n;i++)
        v[i]=i;
    while(m)
    {
        in>>o>>i>>j;
        if(o==1)
            v[j]=i;
        else
        {
            if(check(i,j)==true)
                out<<"DA"<<'\n';
            else
                out<<"NU"<<'\n';
        }
        m--;
    }
    return 0;
}