Cod sursa(job #3247530)

Utilizator amalia_ghicaAmalia Ghica amalia_ghica Data 8 octombrie 2024 10:55:35
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>

using namespace std;
int parent[100005];

int find(int n)
{
    while(n!=parent[n])
    {
        n=parent[n];
    }
    return n;
}
void unite(int n,int v)
{
    n=find(n);
    v=find(v);
    if(n!=v)
    {
        parent[n]=v;
    }
    return;
}
int main()
{
    ifstream cin("disjoint.in");
    ofstream cout("disjoint.out");
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        parent[i]=i;
    }
    for(int i=1;i<=m;i++)
    {
        int j,k,l;
        cin>>j>>k>>l;
        if(j==1)
        {
            unite(k,l);
        }
        if(j==2)
        {
            if(find(k)==find(l))
            {
                cout<<"DA\n";
            }
            else
            cout<<"NU\n";
        }
        
    }

    return 0;
}